载入中,请稍候……

实体类代码生成器3.0源码发布[新增类图]

Admin 于 2008-08-26 04:10:57 发表转载

订阅: http://www.miniboke.com/Feed/Article_8.aspx
引用: http://www.miniboke.com/Trackback/LaMrrIPrOEJXjrgJKuZF.aspx (UTF-8)
Asp.Net MVC实践 - 探索UrlRouting并分析UrlHelper (基于ASP.NET MVC Preview 3) < 实体类代码生成器3.0源码发布[新增类图] > LevenBlog2 Beta1发布[提供下载]

本程序拥有以下新特征:
1.完全可扩充生成引擎系统,使用.Net高级特征实现该功能,针对不同数据库,只要开发相应的生成模块,程序就可在不经过任何修改的情况下支持该数据库.扩充型良好
2.可定制生成脚本,对代码的命名方式通过C#脚本定制,任何人可以使用C#语法进行修改,使得生成的代码命名符合您的要求而无需再次进行修改.
3.国际化支持,通过.net高级功能实现,可支持所有语言,只需开发相应语言包
4.针对"实体类代码生成器",对界面进行修改,不过本人不大擅长UI设计,估计这也比原来好不了多少
5.历史记录功能,可以自动保存生成记录,供下次继续使用
6.分层次代码设计,更好的扩充性,维护性

源代码发布:http://www.codeplex.com/CodeFactory
LevenBlog发布:http://blog.leven.com.cn/Article_30.aspx
特别说明:
1.代码并非完美,时间精力有限,不再做大的修改。
2.代码包中包含Access,SqlServer和MySql生成模块。
3.程序使用VS2005发布时使用VS2008升级工程再发布,即程序没使用任何c#3.0新特性(我机器只装了08的VSTS客户端)。
4.源代码采用GPLv2协议发布,如果您有什么意见或者建议,请联系本人email或者在项目页面留言,由于精力原因,不保证回复。
5.如果对代码有不认同,欢迎讨论,但是请勿谩骂诋毁或者无理嘲笑。
6.个人代码研讨型工程,不保证程序的实用性。
7.如果您不认可以上,请绕道。

[20080610补充]
1.更新源码包,将昨天发布版本中缺少的配置文件加入源码包。
2.将昨天发布版本中缺少的脚本文件,编译所需的png图形文件加入源码包。
3.修改编译命令,使得下载源码包之后可以直接通过vs编译运行调试,无需再下载二进制包中的配置文件。

程序执行截图:


为方便有兴趣研究本项目的朋友更快了解项目结构,新增工程主要构件的类图:
数据操作部分:
DbHelper:

DataAdapeter:

Provider:

依赖:

Tag标签: c#,实体类
 posted on 2008-06-09 18:45 Leven 阅读(3293) 评论(50)  编辑 收藏 所属分类: C# Basic

#1楼     回复  引用  查看    
 Justin       | 2008-06-09 18:55
#2楼     回复  引用  查看    
 BAsil       | 2008-06-09 18:58
#3楼     回复  引用  查看    
 dada7357       | 2008-06-09 19:58
这个程序有个问题,要一个System.config的文件,又不会自己创建一个
#4楼 [楼主]    回复  引用  查看    
 Leven       | 2008-06-09 20:27
@dada7357
的确如此,请下载已编译软件包:
http://www.codeplex.com/CodeFactory/Release/ProjectReleases.aspx?ReleaseId=14201
其中包含了需要的全部配置文件(不仅仅少System.Config)
#5楼     回复  引用  查看    
 scotoma       | 2008-06-09 20:53
Language Manager Initial Error

Can't open language folder!

奇怪报这个错误
#6楼     回复  引用  查看    
 dada7357       | 2008-06-09 21:07
请问LZ用SQLSERVER连接过吗?
if (this.history_list.SelectedItem == null)
this.isSelectConnectionChanged = true;
else
this.CheckConnectionChange();

这两句在VS2008中,是用线程来做界面的操作是会出错的。这在VS2003就不会有错,但在VS2005后,界面操作的API就不同啦。请LZ发表时,测试好了先。不只是升级了一下编译器这么简单就可以啦。在发布时,请问LZ连接成功了吗???
#7楼 [楼主]    回复  引用  查看    
 Leven       | 2008-06-09 21:07
@scotoma
这是因为缺少相关的语言包。清下载二进制包,其中包含所有配置文件和语言包
http://www.codeplex.com/CodeFactory/Release/ProjectReleases.aspx?ReleaseId=14201
#8楼 [楼主]    回复  引用  查看    
 Leven       | 2008-06-09 21:13
@dada7357
程序的线程操作的确是有很大的问题,开始设计的时候没有注意,后面想改又懒得弄了,就省了一些。
并以的代码是使用vs2005,上传到codeplex才改用vs2008.磁盘不够,懒得装vs2005的team client了。至于功能,我测试基本应用是没有问题的,比如生成代码之类的。
另:保存历史记录的功能问题大的很,应该重构的,只是没精力弄了,刚才用vs2008重新编译,测试程序执行以及功能都没有问题(我个人Win2003+VS2008 TS)
#9楼     回复  引用    
 不知道谁? [未注册用户] | 2008-06-09 21:43
debug都会出错,没啥意思
#10楼 [楼主]    回复  引用  查看    
 Leven       | 2008-06-09 21:47
@不知道谁?
的确如此。要想看程序,下源码干嘛?直接下二进制程序就是了,源码自然没啥意思。
#11楼     回复  引用  查看    
 yans       | 2008-06-09 22:18
不好意思...我是菜鸟来的...怎么我发觉我找不到这个类代码生成器,,它是怎么生成的呢?????/
#12楼 [楼主]    回复  引用  查看    
 Leven       | 2008-06-09 22:26
@yans
这个恐怕我目前无法帮你,希望你能快快提高,早日看明白代码。如果有什么具体问题可以提,你这个怎么生成代码的问题未免太抽象,可以说整个程序都是为这个目的服务的,简单来说,生成代码无非就是获取数据库表数据,然后拼凑字符串而已。
#13楼     回复  引用  查看    
 yans       | 2008-06-09 22:32
我是想问,怎么样用生成的那个软件来生成代码??
#14楼     回复  引用  查看    
 yans       | 2008-06-09 22:34
我自己也做了点东西...算是数据库帮助软件吧...平时有用的...只是不知道上传到哪里可以给大家指教一下....
楼主有什么好介绍的吗?
#15楼 [楼主]    回复  引用  查看    
 Leven       | 2008-06-09 22:35
@yans
执行程序,操作菜单,连接数据库,然后直接选择生成就可.
源码可以通过codeplex发布(需要安装team client)或者直接放在blog下载就可。
#16楼     回复  引用  查看    
 yans       | 2008-06-09 22:37
你是好人~~~楼主
#17楼 [楼主]    回复  引用  查看    
 Leven       | 2008-06-09 22:39
实在自愧不如。。
#19楼     回复  引用  查看    
 yans       | 2008-06-09 22:48
楼主看一下...有什么地方要改进的??
#20楼 [楼主]    回复  引用  查看    
 Leven       | 2008-06-09 23:17
目前我也用不上,谈不上意见。你需要什么就可以实现什么嘛
#21楼     回复  引用  查看    
 chunfeng       | 2008-06-09 23:26
请问源码在那里下载,找不到,下载的都是些dll
#22楼     回复  引用    
楼主真是好人,下载了你的代码,学习中...
#23楼     回复  引用  查看    
 lemontree       | 2008-06-09 23:46
顶。学习。
#24楼     回复  引用  查看    
 簡簡單單..       | 2008-06-10 00:00
支持一下..
#25楼     回复  引用  查看    
 大门       | 2008-06-10 02:47
做的不错。
#26楼     回复  引用  查看    
 BAsil       | 2008-06-10 08:00
#27楼     回复  引用    
 韩 [未注册用户] | 2008-06-10 09:08
很不错的
#28楼     回复  引用    
 AAAA [未注册用户] | 2008-06-10 09:36
感觉生成.NET 实体用VsSingleFileGenerator更方便.
#29楼     回复  引用    
呵呵. 这个程序没必要写得这么复杂.
基本原理就是映射数据库表的字段到类的属性, 生成的属性的类型用Int32, String等声明, 推荐用int, string. 另外, 像GetTableName之类, 也没有存在的必要, 可以在程序里增加一个设置, 为表名之类加前缀或者后缀.

我 在2005年左右写过这种程序, 比楼主的要复杂得多, 它同时为实体类生成基本的单条数据库记录的增删改查(每种功能通过一个存储过程实现, 并可选择生成代码下载还是直接把存储过程添加到数据库中)的方法, 并自动生成代码压缩下载. 后来慢慢就不用了, 这种实体基本用不上. 而且现在也有了LINQ TO SQL (就是DLINQ, 目前不支持非SQL SERVER数据库), 如果用的是SQL SERVER数据库, DLINQ的速度和通俗易懂让我们节省了很多时间.
#30楼     回复  引用    
--引用--------------------------------------------------
yans: 楼主看一下...有什么地方要改进的??
--------------------------------------------------------
可以把你的功能和楼主的实体类生成器集成.
另外, YANS的程序只能使用SQL SERVER验证, 我一般用WINDOWS身份验证, 为了测试你的程序, 还得创建一个新用户(SA一般不用的), 建立不必加这个限制.

 
#31楼 [楼主]    回复  引用  查看    
 Leven       | 2008-06-10 11:43
@PeterLeePersonal
6.个人代码研讨型工程,不保证程序的实用性。
 
#32楼     回复  引用    
另外, 做代码生成, 最好使用System.CodeDom.
这样生成的代码, 可以变换不同的语言, 也不必手动去缩进排版.
#33楼     回复  引用  查看    
 yans       | 2008-06-10 12:02
@PeterLeePersonal

嗯嗯....受益好多....
#34楼     回复  引用    
 体彩 [未注册用户] | 2008-06-10 13:27
很是受益啊!学习了,转载了!!!打声招呼,嘿嘿,就不叫偷了!!!
#35楼     回复  引用  查看    
我很奇怪为什么大家不用codesmith呢
#36楼     回复  引用  查看    
 简单就好       | 2008-06-10 14:14
楼主 能不能把你那个VS2005版本发过来。我这里没有2008,看起来挺不舒服的。谢谢。onlykwy@qq.com
#37楼     回复  引用    
 efreer [未注册用户] | 2008-06-10 15:42
我晕,请楼主测试好了,再发布吧,漏洞百出!!
#38楼 [楼主]    回复  引用  查看    
 Leven       | 2008-06-10 16:39
@efreer
请认真读下我的说明,我从没说这是什么完美东西,你要这么认为我也没办法,那只能说是你自找烦恼。
@ 简单就好
我手上的工程已经升级到vs08,想要05的也没得找了,还是赶紧进化了,装个新版把。
#39楼     回复  引用  查看    
 简单就好       | 2008-06-10 17:10
@Leven
郁闷,VS2008 机器跑不起来,谢谢。
#40楼 [楼主]    回复  引用  查看    
 Leven       | 2008-06-10 17:26
@简单就好
汗。。。我感觉两者对系统需求也差不多啊。应该没问题的。
发布代码的时候我直接把工程给升了,真是没法子了。
不过其实也就一个sln文件的问题
你可以试试用05建一个新解决方案,然后添加所有的project到这个解决方案。
#41楼     回复  引用    
 yellowTiger [未注册用户] | 2008-06-10 18:40
codesmith
#42楼     回复  引用  查看    
 简单就好       | 2008-06-10 19:10
谢谢!我搞定了。转换过来了。我以为你用了LINQ或者VS2008其它的功能,文章我也没有看,我只看看代码就行了。文字我就没有兴趣了。哈哈。
#43楼 [楼主]    回复  引用  查看    
 Leven       | 2008-06-10 19:13
@简单就好
实在恭喜,这些都是老代码了,肯定没用新特性。其实程序没啥亮点,能给人帮助就最好不过了。
#44楼     回复  引用  查看    
 紫色永恒       | 2008-06-11 08:32
神鱼见首不见尾
#46楼     回复  引用  查看    
 yans       | 2008-06-11 17:26
这个工具我觉得挺不错。。。。不过好像要注册什么的。。。。
唉。。。心态。。。
#47楼 [楼主]    回复  引用  查看    
 Leven       | 2008-06-11 17:34
@yans
一个是收费软件,一个是开源
一个拥有完整功能,一个仅有一个用途,还不保证实用
一个是别人可能花费大力气才搞出来赚钱的,一个是随意写写的
一个只能看到功能,一个重在看代码
#48楼     回复  引用  查看    
 Tonyyang       | 2008-06-12 14:25
请看看http://www.maticsoft.com 功能超强且又免费!
#49楼     回复  引用    
 mracle [未注册用户] | 2008-06-12 17:54
源码在那里,我咋没找到呢
#50楼     回复  引用    
 明振 [未注册用户] | 2008-07-08 12:45

多线程带来很多的问题。



至于2005版只需要将现在的下载版本sln文件头两行修改如下


Microsoft Visual Studio Solution File, Format Version 9.00


# Visual Studio 2005



就可以打开了。

被阅1108次, 0投一票
  • 看完了要说点啥么?
  • 昵称 (不填说不了话)
  • 信箱地址 (不会被公开,但是不填也说不了话)
  • 网址 (这个不填也成)

Powered by MiniBoke v2.0.0.8 Build 0828

Copyright © 2008 迷你博客. All rights reserved.

粤ICP备07500939号