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 上。


發佈了0 篇原創文章 · 獲贊 0 · 訪問量 1312
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章