DbEntry.Net v0.33

  这是我设计的一个轻量级的 .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 上测试过本组件。

  v0.33 版比较大的改变为:
  ·支持移除一对多、多对多关系
  ·支持 Firebird、Oracle
  ·增加缓存系统
  ·支持 SoftDelete、CreatedOn、UpdatedOn
  ·支持 ASP.NET 2.0 Membership 系统
  ·DataSource 支持“新建”和“编辑”页面
  ·Rails 风格 MVC 框架

  数据访问部分简单的使用方法如下:

c# 代码
  1. public abstract class User : DbObjectModel < User >
  2. {   
  3.     public abstract string Name { getset; }   
  4.     public abstract int Age { getset; }   
  5.     public abstract bool Gender { getset; }   
  6.     public abstract DateTime Birthday { getset; }   
  7.   
  8.     public User Init(string Name, int Age, bool Gender, DateTime Birthday)   
  9.     {   
  10.         this.Name = Name;   
  11.         this.Age = Age;   
  12.         this.Gender = Gender;   
  13.         this.Birthday = Birthday;   
  14.         return this;   
  15.     }   
  16. }   
  17.   
  18. class Program   
  19. {   
  20.     static void Main(string[] args)   
  21.     {   
  22.         // Create   
  23.         User u = User.New().Init("tom", 18, true, DateTime.Now);   
  24.         u.Save();   
  25.         // Read   
  26.         User u1 = User.FindById(u.Id);   
  27.         // Update   
  28.         u1.Name = "jerry";   
  29.         u1.Save();   
  30.         // Delete   
  31.         u1.Delete();   
  32.         // Complex Query   
  33.         List< User ><user></user> ls = User.Find(CK.K["Age"] > 15 && CK.K["Gender"] == true);   
  34.         // Use Sql   
  35.         List< User ><user></user> ls1 = User.FindBySql(   
  36.             "Select * From [User] Where [Age] > 15 And [Gender] = true");   
  37.     }   
  38. }  

  请访问 http://www.codeplex.com/dbentry 下载本组件。使用文档也在 codeplex dbentry 主页的 Wiki 上。


你可能感兴趣的:(oracle,.net,mvc,asp.net,Rails)