為什么要用倉儲(Respository)和工作單元?


倉儲(Respository)是存在於工作單元和數據庫之間單獨分離出來的一層,是對數據訪問的封裝。其優點:

    1)業務層不需要知道它的具體實現,達到了分離關注點。

    2)提高了對數據庫訪問的維護,對於倉儲的改變並不會改變業務的邏輯,數據庫可以用Sql Server(該系列博客使用)、MySql等。

工作單元模式 ( Unit Of Work)是“維護一個被業務事務影響的對象列表,協調變化的寫入和並發問題的解決”

比如:新入校一個同學,需要在班級,學校,學生,課程等多個表里同時操作。這些表要么都完成,要么都不完成。具有一致性。

在倉儲模式中使用工作單元模式是為了當你操作多個倉儲時,共用一個數據上下文(DbContext)使得這些倉儲具有一致性。

在Entity Framework中可以把DbContext當作是一個工作單元。在同一個DbContext對多個倉儲操作。所以工作單元模式並不是一定要自己實現,通過Entity Framework也可以實現。

上面的倉儲模式其實通過對DbContext的使用了也實現了工作單元模式。

這里  源碼下載(加微信號hwf10214)

c#   分享一個實戰多子系統統一權限管理 完整實例,可以做二次開發,用到倉儲 工作單元、Dapper、Automapper、WCF、  T4模板、Redis 等技術

 


免責聲明!

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



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