人无信不立/2008-04-26 22:30

发布一个.Net轻型的ORM框架(包含自动生成工具),欢迎使用

概述
        网上已经有了一些.Net的框架,但是感觉使用起来比较复杂,我自己写了一个比较易用的开发框架,基本不用任何配置,使用方便,可以自动生成实体类和页面上一览、增、删、改等功能,自动工具生成后的代码可以在vs2005中直接打开,直接运行。

命名
      GSpring
            1、阳光下的快乐,快乐的开发框架
       2、绿色的spring框架----轻型的.Net Web开发框架,上手容易,开发简便(当然功能没有spring强大,不过能满足一般的Web应用程序开发)

简单介绍
            1、提供自动生成工具,可以生成一个可以直接运行的解决方案
            2、自动生成时可以配置字段名和中文说明之间的对应关系(为了在页面上显示用)---当然不提供配置文件也可以
 
            3、支持Sqlserver、oracle、Mysql、Access四种常用的数据库
            4、支持数据库中常用的数据类型,如int, varchar,datetime等(有需要的话会再加入其他数据类型)
            5、对不同的数据库使用不同的接口,提高效率。 sqlserver使用的是SqlClient,oracle使用的是OracleClient,Mysql使用的是MySql.Data,Access使用的是Oledb
            6、将数据库中的表完全映射成对应的实体类,操作时只需要对对应的实体类中的属性进行赋值就可以了。使用此框架基本上不用使用任何Ado.Net的对象
            7、对增、删、改操作只需要传入对应的实体类就可以了,简单方便。
            8、对单表查询提供了方便的接口。
            9、对多表的关联查询没有做太多处理,提供了一个查询接口,可以将查询结果的实体列表返回。对这种多表查询需要自己写sql语句,这一部分我个人认为,像Nhibernet等处理太多的话,灵活性不好,而且使得操作复杂。
            10、提供了方便的事务处理
            11、日志部分使用的是NLog
            ......

有不明白的地方可以看一下自动生成后的代码,也欢迎大家提问和指正,
如果有什么好的想法也希望大家能提出来,我会及时修改代码,
谢谢!

下载地址:http://files.cnblogs.com/firstyi/GSpring.rar
(附带了自动生成工具、MySql.Data.dll和Interop.SQLDMO.dll以及开发框架的类库参考)
posted @ 2007-01-04 17:57 永春 阅读(2450) 评论(30)  编辑 收藏 所属分类: .Net

  回复  引用  查看    
#1楼 2007-01-05 11:24 | Bryant      
不错,我下载了,用了下,good
我一直也想写个这样的东西
不过有很多地方不知道怎么设计
你能和我说说这些都是怎么实现的么
  回复  引用  查看    
#2楼 2007-01-05 11:32 | Bryant      
不错,我下载了,用了下,good
我一直也想写个这样的东西
不过有很多地方不知道怎么设计
你能和我说说这些都是怎么实现的么
  回复  引用  查看    
#3楼 [楼主]2007-01-05 12:14 | GSpring      
@Bryant
谢谢使用!
其实主要也就是使用了工厂模式和反射等技巧
  回复  引用    
#4楼 2007-01-05 12:36 | 嘿嘿 [未注册用户]
  回复  引用  查看    
#5楼 [楼主]2007-01-05 12:45 | GSpring      
@嘿嘿
我简单看了一下,那个框架感觉比这个功能强大,但也比较复杂。
我的目标就是一个轻型的ORM框架,毕竟大部分开发灵活性还是很重要的
  回复  引用    
#6楼 2007-01-05 13:22 | 嘿嘿 [未注册用户]
软件只有一个目的
快速的开发,获取更大的利润空间,所以没有小和大之分,只有灵活度之分
  回复  引用  查看    
#7楼 2007-01-05 13:33 | SOSOS's BLog      
我在实用过程中出现错误!~~~~~~

应用程序中发生了无法处理的异常,如果点击"继续",应该用程序将忽略此错误并尝试继续.如果点击"退出",应用程序将立刻关闭

在关键字'order'附近有语法错误..
  回复  引用  查看    
#8楼 [楼主]2007-01-05 13:38 | GSpring      
@SOSOS's BLog
使用生成工具时出现的问题?
你装了.net2.0吗?我这个工具是针对.net2.0开发的。

还有需要把压缩包里的dll文件和应用程序放在同一个目录下的。

另:
你生成的是哪一个数据库的?
  回复  引用  查看    
#9楼 2007-01-05 13:39 | SOSOS's BLog      
哦哦..我是.net2.0的,我是用sql2000里面的默认数据库做的测试.
  回复  引用  查看    
#10楼 2007-01-05 13:46 | SOSOS's BLog      
你说的应用程序是指"GSpringAutoGen.exe"和两个dll在一个目录吗?是放在一起的啊...但只要点生成就出现上述错误.
  回复  引用  查看    
#11楼 2007-01-05 13:49 | SOSOS's BLog      
@GSpring
就是默认的northwind这个数据库
  回复  引用  查看    
#12楼 2007-01-05 13:51 | SOSOS's BLog      
发现只是northwind这个数据库会出错....我用其他就不会!
  回复  引用  查看    
#13楼 [楼主]2007-01-05 14:11 | GSpring      
@SOSOS's BLog
首先,谢谢你的使用!!

用其他的数据库生成后可以运行了吧?

可能northwind这个数据库中字段有特殊的数据类型,目前只支持常用的数据类型,过一段时间我会加入的。


  回复  引用  查看    
#14楼 2007-01-05 14:15 | SOSOS's BLog      
一些access也有不成功的
  回复  引用  查看    
#15楼 [楼主]2007-01-05 14:51 | GSpring      
@SOSOS's BLog
一些特殊地方自动生成时可能没有考虑到,能把你的access文件发给我吗?
谢谢
  回复  引用    
#16楼 2007-01-05 16:32 | 123[匿名] [未注册用户]
可以增加选择哪些表需要生成
  回复  引用  查看    
#17楼 2007-01-05 16:41 | 臭石头      
特别注意了GetEntityFromRequest和GetAllData的具体实现,都是用SetValue。我以前做的一个不算ORM的ORM也是这样实现,不过听说效率要低两百多倍,就没用了,博主可测试过这个ORM的效率和ADO.Net相比如何?

博主在OpenSession中的HttpContext.Current.Items和ThreadStatic用得可真是妙极了。我把Items称为“请求级”缓存,因为它只作用于一次请求中;把ThreadStatic称为“线程级”缓存,因为它是静态变量,同时又在每个线程中都有一个副本。这里:http://www.cnblogs.com/nnhy/archive/2006/11/28/575221.html

最后,GSring非常好!~
希望能看到有力的测试数据^_^
  回复  引用  查看    
#18楼 [楼主]2007-01-05 17:01 | GSpring      
@123[匿名]
好的,考虑在下次加入此功能
  回复  引用  查看    
#19楼 [楼主]2007-01-05 17:13 | GSpring      
@臭石头
谢谢!
你们的支持是我最大的动力:)

我专门有一个NUnit的测试项目,效率方面的确比Ado.net要慢,数据量较少时还没什么影响,数据量大的时候就比较明显了。这可能也是使用ORM的代价:)

下一阶段我主要就想把性能方面再优化一下,打算下次发布修正版时把测试数据一起发布。

  回复  引用    
#20楼 2007-01-05 20:04 | Tonyyang [未注册用户]
GSpring 的功能LTP写的.NET代码生成器都有.....
  回复  引用  查看    
#21楼 2007-01-07 22:13 | 伍华聪      
我也发一个自己的代码生成工具,功能有:
1。支持NHibernate代码和PetShop架构代码的生成(多种形式).
2。可以查看数据库的信息和实现查询分析器的功能,可以很快地看看数据库的信息哦
3。数据库文档的生成,在模块设计中非常有用,谁想去写描述和字段名称,类型的对应关系呢,笨!
4。测试数据脚本的生成,在外键非常复杂的表中,我们想添加一条记录都是很容易哦,这个可以更加表的外键关系调整插入测试数据的顺序,很周到吧。
5。最新加入了Web界面自动生成功能
6。最新加入了Castle的ActiveRecord代码生成功能

详细描述请看:
http://www.cnblogs.com/wuhuacong/archive/2006/09/26/514730.html

下载地址:http://www.wuhuacong.com.cn/UpLoadFile/Database2Sharp.zip

  回复  引用    
#22楼 2007-04-27 15:18 | lsmwell [未注册用户]
非常棒,支持~~~
  回复  引用    
#23楼 2007-05-05 18:35 | 薛楠 [未注册用户]
强!
  回复  引用    
#24楼 2007-06-22 17:32 | xiaohu [未注册用户]
发现真的很不错
  回复  引用    
#25楼 2007-09-13 17:26 | lucky2 [未注册用户]
连个DEMO都没有
  回复  引用  查看    
#26楼 [楼主]2007-09-13 17:44 | GSpring      
@lucky2
只有点一下 生成 就什么都有了 -_-
  回复  引用    
#27楼 2008-02-29 08:31 | 夕颜 [未注册用户]
太爽拉 希望能加上 具体表的选择 防止每次改一个表 就要全部重新生成 我用的时候有好多数据库都会出错 希望博主 解决解决
  回复  引用  查看    
#28楼 2008-03-12 11:38 | 大道无情      
生成的代码编译通不过,一大堆语法错误
环境 vs2005 sql2005 win2003
  回复  引用  查看    
#29楼 [楼主]2008-03-12 12:27 | 永春      
@大道无情
你报的什么错?列举一两个我来看看
  回复  引用  查看    
#30楼 2008-06-02 11:00 | 时间太快      
正在找这方面的资料。。。

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  博客园首页

  新闻频道

  社区

  小组

  博问

  网摘

  闪存

  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2007-01-05 12:16 编辑过
成果网帮您增加网站收入


相关链接: