.Net 4.0的ORM组件 - DbEntry.Net (Lephone Framework)

openkk 12年前

这是一个轻量级的 .Net ORM (Object Relational Mapping) 数据访问及 WEB 框架。对于 ORM 和 Sql 调用,它都拥有清晰和易用的接口,目前支持 SqlServer、SQLite、MySql、Access、Firebird、Oracle 等数据库。对于 WEB 开发,它既支持 ASP.NET 2.0 的 DataSource 方式,也支持 Ruby On Rails 风格的 MVC 方式。

目前,数据库部分已经支持多主键、多表联合查询、快速分页、隐式数据库事务、连贯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.0.3 和 Oracle 10g Express 上测试过本组件。

Features:

  • Linq support
  • FluentInterface query syntax
  • RoR ActiveRecord style syntax
  • Ambient transaction
  • Dynamic object
  • Partial update
  • 1:1 1:Many Many:Many relations
  • Auto create table
  • Anti sql injection
  • Multiple data source
  • Object validation
  • Paged selector and collection
  • Nullable support
  • DbEntryDataSource
  • ASP.NET 2.0 Membership support
  • Built-in Cache Support
  • Ruby On Rails style MVC framework
  • Simple IoC framework
  • High performance, almost same as using ADO.NET directly
  • Lightwight, the binary file only about 360KB

项目主页:http://www.open-open.com/lib/view/home/1340028679737