程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> 我的數據持久層 一

我的數據持久層 一

編輯:.NET實例教程
  昨天看了petshop4.0,學到了點東西,准備把以前的數據訪問層改變一下。現在暫時設計如下:

DBAccess 數據庫訪問

            sqlHelper 訪問底層數據庫

           sqlAssist 訪問數據庫的輔助類,如封裝對CommandText的生成

LogicalEntitIEs 邏輯實體,對數據庫表,試圖,存儲過程的影射.這些類只包含屬性,不包含方法。

BLLEntityOperatorInterface 針對不同實體的操作類接口,這裡只包含操作,不包含屬性。

            比如接口中申明函數AddCustomer(Customer customer); 這裡的Customer就是上面所說的邏輯實體類

BLLEntityOperator 它繼承了BLLEntityOperatorInterface中相應的接口,並實現了裡面申明的方法。

DALFactory 這裡一個生產具體操作類的工廠。

在業務層想下面這樣用:

Customer customer=new  ();

customer.Address="dddd";

customer.CustomerID="AAAAA";

 

ICustomerOperator co=DALFactory.CreateCustomerOperator();

co.AddCustomer(customer);

具體的代碼實現,下次在寫上。這裡沒有用到orm。有些代碼可以自動生成,還得寫個生成工具。都是工作的需要啊,先就這樣寫者試試,時間緊啊,以後再考慮orm的事情。以前有很多在.Net 下的數據持久層的開源組件。但是用起來都不是很爽。最先用的是NBear,他對有些功能不支持,比如說數據庫架構,還有就是對於主鍵為identity的表的插入不行(不知道是不是有方法)。後來用的NHibernate,用來來相當的麻煩,特別是他的影射問題,當我數據庫裡面的表有關聯關系的時候, 但是我在數據庫裡面並沒有建立外鍵,想通過編程在上層進行控制,這樣的話,在NH中,很多功能都不能實現,比如聯合主鍵,還有就是試圖的功能,可以說是相當的煩。而且在這兩個組件上花的時間還不少,最終還是不能滿足需求。現在還不如自己寫一個功能簡單的,專用性比較強的,就是以後擴展起來可能有點麻煩。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved