东方独狼

导航

.net代码生成模板(MyGeneration版)

         经过一段时间的努力,终于把.net代码生成模板完成了。高兴!!

背景:
         前段时间比较有空,就拿几个ORM框架来看看,试用之后发觉ActiveRecord和SubSonic还不错,于是就深入一点拿来开发,没想到在开发的过程中却遇到许多莫名其妙的问题,心里真是郁闷!后来想想既然这些东西都是不可控制的,那就找一个代码生成器吧,至少生成的代码自己是可以看到的,听朋友说动软的代码生成器还不错就Down了一个下来,不过生成代码之后多少有些令人遗憾,因为里面的方法太少了,而且软件的版本更新也太慢了,最后想想为什么自己不写一个出来呢,用代码生成器来写,只要把平时经常要操作的方法写出来就OK了。

代码生成器MyGeneration:
        我用的代码生成器是MyGeneration,本人认为这是一个相当不错的东东,免费的(下个版本即将开源),安装文件也小,才2.21M,可用C#编写,更重要的是它提供了一个完整的操作数据库所用到的类库。有关MyGeneration的文档请参考DDLLY写的《强大的代码生成工具MyGeneration 》以及MyGeneration的官方网站:http://www.mygenerationsoftware.com/

.net代码生成模板:
使用步骤:
1、把下载的压缩包(在文章的末尾处下载)解压之后,发现里面会有两个文件:ED.zeus和DbHelper.cs;
2、把DbHelper.cs复制到MyGeneration的安装目录下,如:c:\Program Files\MyGeneration;
3、在你工程中的配置文件Web.config里加上连接数据库的字符串,如:

<connectionStrings>
    
<add name ="Test" connectionString ="server=(local);database=Test;uid=sa;pwd=" providerName ="System.Data.SqlClient"/>
</connectionStrings>

记得加上providerName 这个参数哦。
4、打开ED.zeus,Edit-->Default Settings-->Connection选项卡-->Database TargetMapping框-->设DbTarget为DbType。



运行,界面如下:



其中的Save按钮是用来把窗口内的东西保存到注册表中的,下次打开的时候就不用再修改了。其它的都是一眼就能看得懂的,这里不再讲述。
5、填写好参数后,点击OK按钮,生成代码。

注:目前只支持sql server 2000,因为我对其它的数据库不熟。

生成的代码:
生成的代码默认为Model和DAL两个文件夹:
Model是用来放实体类文件的,而DAL是用来放操作类文件及数据库操作基础类和公共类。

实体类文件:
由私有变量、默认构造函数、属性三部分组成。其中属性支持外键的功能,当然了,只有1:N中的主表,如果也包含从表的话,就会造成资源的浪费和性能的下降。

namespace Coree.Model
{
    
public class Child
    
{
        
私有成员

        
默认构造函数 

        
公有属性 
    }

}

数据操作类文件:
由一些常用的方法组成,有Exist,GetCount,GetModel,GetByID,GetList,Add,Update,Delete等,这些方法都有重载的方法。其中GetList返回的是DataSet,Delete方法用到了事务,具体可看生成的代码。

namespace Coree.DAL
{
    
public class Child
    
{
        
-----------Exist-----------

        
-----------数据统计-----------

        
-----------得到一个对象实体---------

        
-----------GetByID-----------

        
-----------数据(DataSet)------------

        
-----------添加-----------

        
-----------更新-----------

        
-----------删除-----------
    }

}

DbTypeStructs.cs:
用来映射数据库字段的数据类型,在分析sql语句,添加参数的时候用到。

namespace Coree.DAL
{
    
-----------Child-----------

    
-----------Parent-----------

}

CommonUtil.cs:
公共类,里面提供处理查询字符串、添加参数、创建分页查询语句的方法,供各个数据操作类使用。

namespace Coree.DAL
{
    
public class CommonUtil
    
{
        
-----------处理查询字符串-----------

        
-----------添加参数-----------

        
-----------由列名获得列类型-----------

        
-----------创建分页查询语句----------
    }

}

DbHelper.cs:
顾名思义,就是访问数据库的帮助类,我前面的文章中也提到过。

就到此吧,有什么问题可以来问我,模板中有设计不当的地方还请多多指教!!或者技术上的东西我们也可以切磋切磋。

声明:
1、如果你把这个代码生成模板用到你的工程当中,遇到什么麻烦或引起什么损失的话,本人概不负责,我也没有义务为你提供技术支持。

2、这是一个自由的东东,大家可以任意修改和使用,如果大家有什么好的想法或建议也记得通知我哦,呵呵!

下载

posted on 2007-07-27 10:24  lonewolf  阅读(4211)  评论(1编辑  收藏  举报