好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

分享一个面向EntityFramework的代码生成工具(源码)

分享一个面向EntityFramework的代码生成工具(源码)

干WEB开发已经有一年了,感触不少.有时候觉得做XX管理系统,难在搞对需求,难在基础设计,真正要写的代码,很多都是有些机械的,重复的,类似的.自从知道了有一种东西叫代码生成器之后,我就觉得这些事,这些代码应该尽可能的让计算机帮我们做.

  昨天编写了一个针对EF(VS08SP1中的版本)的代码生成工具,基本功能已经出来了,在此做个小小的分享.因为模板替换方面,目前的功能比较弱,替换后的结果有针对性(我自己的需求),所以我提供了源代码,有兴趣的可以拿去修改.下面简单的介绍一下.

  程序执行步骤:

加载EDMX文件,解析实体模型信息. 加载模板文件(需要事先制作). 勾选需要生成的实体.

  以下是代码目录:

代码很少,四五百行而已. Temp文件夹下的CodeBuild类负责代码生成,XML文件夹下的EntityModelAnalysis类负责EDMX文件解析,生成实体模型信息.所有界面操作都在FmMain类中.如果你用的VS2010,EF4,需要修改EntityModelAnalysis类(要花点时间分析EDMX文件的结构).

  TempType类中定义了当前的模板类型,制作模板的时候需要将它们作为关键字添加到你的模板中,修改和添加模板替换的种类,需要修改TempType类和CodeBuild类中的CodeExchange方法(添加分支即可).

以下是程序界面

模板制作说明:比如我添加了一个这样的模板:

<~ENTITYNAME~>会被替换成实体类名,<~FIELDS~>会被替换成字段列表

界面操作说明:添加模板的方法:双击模板名称列会弹出打开文件窗口,默认的生成文件名称为"*.cs", * 会被替换成实体类名,你需要根据你的模板来修改这个名称,比如实体类接口模板,可以改成: "I*.cs".同一目录不允许同名文件,所以要保证每个模板的生成文件名称不同.生成时,每个选中的实体类都会遍历所有模板.

  大致就介绍这么多,目前功能还比较简单,以后慢慢扩展..

源代码(附6个示例模板): https://files.cnblogs.com/xxfss2/CodeProduce.rar

作者: Leo_wl

    

出处: http://www.cnblogs.com/Leo_wl/

    

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

版权信息

查看更多关于分享一个面向EntityFramework的代码生成工具(源码)的详细内容...

  阅读:39次

上一篇: SQL2005 ROW_NUMBER

下一篇:MOSS2010