分享.NET代码生成器(ZAP)
在网上发现了一个.NET代码生成器,可以自动生成网站,包括前台页面,还可以按关系生成相应的代码,以及数据库等。这个软件是ZAP,而且更重要的是他开放源代码,不知道大家用过没有。下面我简单介绍一下。
安装方法:
1、软件及源代码下载地址:http://www.superexpert.com/Code/ZAP/ZAPInstall_032307.zip。
2、下载后将其解压到你的硬盘上。
3、大开VS2005 在工具菜单中选择外部工具。在外部工具对话框中点击添加。
4、将加入的新工具标题命名为“ZAP”,然后选择命令的可执行文件,这里在你的硬盘上选择 ZAPTool\ZAP.exe,并将初时目录修改为“$(ProjectDir)”,选中输出窗口对话框,确定即可。如下图所示:
1、 打开VS2005 新建网站,选择空项目。
2、 选择工具中的ZAP,执行生成网站。如图:
网站生成后.NET IDE 不会自动刷新项目目录,要查看ZAP生成的结果,请在“解决资源管理器”中点击刷新按钮。结果如下图:
ZAP的这些类都是按照zap.config中的配置生成的,我们可以修改他,让他来生成我们所需要的类和控件。默认的zap.config代码如下:
<project
xmlns="http://superexpert.com/zap"
name="Project1">
<classes>
<class id="Class1">
<properties>
<property
name="id"
type="Int32"
isPrimaryKey="true"
isIdentity="true" />
<property name="title"/>
</properties>
</class>
</classes>
</project>
xmlns="http://superexpert.com/zap"
name="Project1">
<classes>
<class id="Class1">
<properties>
<property
name="id"
type="Int32"
isPrimaryKey="true"
isIdentity="true" />
<property name="title"/>
</properties>
</class>
</classes>
</project>
下面是修改后的zap.config代码:
<project
xmlns="http://superexpert.com/zap"
name="Project1">
<classes>
<class id="MovieCategory">
<properties>
<property
name="id"
type="Int32"
isPrimaryKey="true"
isIdentity="true" />
<property name="name" label="Name"/>
</properties>
</class>
<class id="Movie">
<properties>
<property
name="id"
type="Int32"
isPrimaryKey="true"
isIdentity="true" />
<property
name="title"
label="Title"/>
<property
name="director"
label="Director"/>
<property
name="categoryId"
widget="DropDownList"
foreignClassId="MovieCategory"
foreignValuePropertyName="id"
foreignTextPropertyName="name" />
</properties>
</class>
</classes>
</project>
xmlns="http://superexpert.com/zap"
name="Project1">
<classes>
<class id="MovieCategory">
<properties>
<property
name="id"
type="Int32"
isPrimaryKey="true"
isIdentity="true" />
<property name="name" label="Name"/>
</properties>
</class>
<class id="Movie">
<properties>
<property
name="id"
type="Int32"
isPrimaryKey="true"
isIdentity="true" />
<property
name="title"
label="Title"/>
<property
name="director"
label="Director"/>
<property
name="categoryId"
widget="DropDownList"
foreignClassId="MovieCategory"
foreignValuePropertyName="id"
foreignTextPropertyName="name" />
</properties>
</class>
</classes>
</project>
修改完毕后刷新解决资源管理器,看ZAP为我们生成的代码、页面和控件,相信会让你大吃一惊的,如下图:
打开ZAP下的MovieCategoryList.aspx文件,按Ctrl + F5运行项目,向系统中加入电影的分类,然后运行MovieList.aspx,结果如下图:
关于ZAP 的配置以及更多信息请参见http://www.superexpert.com/Blog/Archive/17.aspx