實戰-數據訪問層


數據訪問層僅僅負責管理數據庫與業務邏輯層之間的通訊,不負責業務邏輯。

技術上我們采用Entity Framework ,它是微軟開發的基於ADO.NETORM(Object/Relational Mapping)框架。

Entity Framework的主要特點:

1. 支持多種數據庫(Microsoft SQL Server, Oracle, and MySQL);

2. 能很好地支持表,視圖和存儲過程;

3. 提供Visual Studio集成工具,進行可視化操作;

創建ADO.NET 實體數據模型項目

在項目上點擊右鍵,添加->新建項

選擇"ADO.NET 實體數據模型"

從數據庫生成,新建連接,選擇數據源

填寫連接需要的數據庫信息后,點擊下一步

注意:只選擇"在模型中加入外鍵列"

可以看到新生成了兩個文件"App.Config"和"Model1.edmx":

"App.Config"里面是數據庫連接字符串

"Model1.edmx" 里面是數據實體類和訪問數據庫的上下文

注意:Model1.edmx文件是Entity Framework自動生成的,不做修改,因為每次更新會覆蓋。

 

修改ADO.NET 實體數據模型項目

每次修改實體模型的時候,都全選(ctrl+A)並刪掉所有實體,然后在Model1.edmx文件空白處上點擊右鍵,選"從數據庫更新模型"

選擇需要的表和視圖,點擊完成即可。

分析總結

我們將系統需要的基礎類放在"Framework"文件夾中,所有的實體數據都需要繼承IBaseEntity接口,所有的數據庫表操作都需要繼承BaseRepository抽象類,所有視圖操作都需要繼承BaseViewRepository抽象類

下面我們以SysException單表的增刪改為例,進行介紹:

這里使用了分部類(partial class)對實體數據SysException進行擴展,加入自定義的屬性,使用SysExceptionMetadata類對SysException進行數據驗證,以保障數據的完整性和正確性。

數據訪問層中的SysExceptionRepository執行數據庫中的增刪改查操作。

以上我們完成了數據訪問層的設計,此架構的代碼實現,請參考www.langben.com


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM