.Net 4.0的ORM組件 - DbEntry.Net (Lephone Framework)
這是一個輕量級的 .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