作者:梁利锋 标签:DotNet, DbEntry

3834天前 (阅读:5852)
  这是我设计的一个轻量级的 .Net ORM (Object Relational Mapping) 数据访问及 WEB 框架。对于 ORM 和 Sql 调用,它都拥有清晰和易用的接口,目前支持 SqlServer、SQLite、MySql、Access、Firebird、PostgreSQL、Oracle 等数据库。对于 WEB 开发,它既支持 ASP.NET 2.0 的 DataSource 方式,也支持 Ruby On Rails 风格的 MVC 方式。支持 Linq 方式的查询,也提供一个简单的 IoC。

  目前,数据库部分已经支持多主键、多表联合查询、快速分页、隐式数据库事务、连贯API查询、ActiveRecord风格查询、动态对象、部分保存、自动创建数据表、一对一、一对多、多对多关系等功能,具体实现请参阅 Samples 中的例子程序和单元测试的内容。

  而 DataSource 部分,因为绑定数据访问组件,所以可以只需要修改配置文件,不需要修改任何代码的在不同的数据之间切换。另外,还支持按命名约定的方式绑定“新建”和“编辑”页面的控件,以最少的代码完成输入、验证、保存等一系列操作。

  Rails 风格的 MVC 框架目前已经完成 MVC 部分,脚手架,基类中的 LinkTo、UrlTo 等快捷函数,Http Get 支持等。目前脚手架部分没有数据验证模块,不过,自己写的 MVC 代码可以自行实现验证。

  这个版本中,例子程序访问的数据库主要是 Access,而单元测试使用的数据库是 SQLite,通过修改配置文件中数据源部分,可以使之不需要重新编译即可工作于其它数据库上。配置部分通过 App.config 进行,请参阅 Samples 中的例子程序中的 App.config 和 UnitTest 项目内嵌的配置文件 UnitTest.config.xml 。

  我在 MS Sql Server 2000、MS Sql Server 2005 Express、 MS Access 2003、MySql 5.0、SQLite 3、Firebird 2.1.0, PostgreSQL 8.3.3 和 Oracle 10g Express 上测试过本组件。

  v3.5 版比较大的改变为:
  ·增加 Linq 支持
  ·支持 PostgreSQL
  ·增加简单的 IoC 系统
  ·支持 SavedOn 和 Count
  ·支持 NameMapper

下载本组件和浏览文档请访问 http://www.codeplex.com/DbEntry/

dawnxu(非注册用户) 2008-8-13 18:01:18

问一下,多数据库..或者读写分离的数据库能支持吗?

梁利锋 2008-8-13 19:59:43

支持多数据库,请参见例子程序Orm3

ziyouyong(非注册用户) 2008-11-17 10:17:28

数据库有字段的值为null的时候,调用DbEntry.Context.ExecuteList()方法时,出错:无法将类型为“System.DBNull”的对象强制转换为类型“System.String”。

梁利锋 2008-11-17 20:44:52

@ziyouyong 请使用 AllowNull 标签

Q姓程生(非注册用户) 2009-10-24 10:59:27

您的框架强,请问与ADO.net entity framework 对比,优势与差异是什么呢?

梁利锋 2009-10-25 18:15:58

DbEntry更注重实用性,目标是使常见任务尽量简单;entity fx 更注重全面性,所以常见任务的处理显得复杂一些,不过因为是微软出的,资料比较多。

ming(非注册用户) 2009-11-5 17:15:21

研究 研究

Unparalleled accuracy, uneqiouvcal clarity, and un(非注册用户) 2012-10-23 3:51:22

Unparalleled accuracy, uneqiouvcal clarity, and undeniable importance!

That's not even 10 mieutns well spent!(非注册用户) 2015-1-19 18:08:43

That's not even 10 mieutns well spent!