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

2922天前 (阅读:4518)
  这是我设计的一个轻量级的 .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 2005 Express、MS Sql Server 2008 Express、 MS Access 2003、MySql 5.0、SQLite 3、Firebird 2.1.0, PostgreSQL 8.3.3 和 Oracle 10g Express 上测试过。



  v4.0 版主要的改变为:
  ·更新到 .Net 4.0;
  ·支持使用动态对象返回结果集;
  ·改为不使用 abstract 的方式;
  ·不使用内存程序集,而是直接修改程序集;
  ·对于 Model 使用的 DbContext 改为使用属性定义;
  ·增加对于 ComposedOf 的支持;
  ·结构调整,Bug 修改等;

  下载本组件和浏览文档请访问 http://www.codeplex.com/DbEntry/
lingate(非注册用户) 2011-5-26 21:59:56

var l1,l2,l3返回的是User,不是动态对象吧?

woko(非注册用户) 2011-5-30 20:46:52

什么时候支持下SQLCE4.0呢?Sqlite.net现在不更新了...

fans(非注册用户) 2011-6-4 21:42:29

强烈支持。 请问4.0版本可以运行在.net 3.5 下吗?

梁利锋 2011-6-7 10:52:10

@fans: 不可以。

unfish(非注册用户) 2011-6-12 20:07:09

不知道Bug修改是指什么啊?我不想升级到.net4.0,但是很想知道有没有必要升级。

Ya learn something new evreaydy. It's true I guess(非注册用户) 2011-7-12 14:08:40

Ya learn something new evreaydy. It's true I guess!

(未知用户) 2011-11-30 17:43:48

有小事例吗???
嘿嘿...刚学,没有开发经验,不知道怎么做

That's way more celver than I was expecting. Thank(非注册用户) 2012-10-22 15:20:33

That's way more celver than I was expecting. Thanks!

(未知用户) 2013-6-13 15:39:25

大家好 我也是新学者 

(未知用户) 2013-6-13 15:40:37

谁能帮我教PS插件汉化

That's a smart answer to a difcifult question.(非注册用户) 2015-1-18 19:45:56

That's a smart answer to a difcifult question.