0

我正在使用實體框架,通用存儲庫和服務層的SQL Server 2012。我的意圖是始終使用EF和SQL Server。如果我正在使用SQL Server 2012和EF6,將混合存儲庫添加到混合中有什麼優勢?

這工作正常,但有人建議我不需要EF內置存儲庫上的通用存儲庫。

有人可以告訴我是否有任何優勢使用通用資源庫?我不是在尋找意見之一,因爲過去的經驗告訴我,在提到這個詞的意見後,問題被人們關閉:-(

回答

1

將數據模式添加到數據層,例如通用存儲ory模式提供了一個抽象級別,這反過來又具有諸如讓你的代碼可測試的優點。

在附註上,您可能要考慮與GR耦合的另一個數據模式是工作單元模式。這將允許您對事務進行分組並執行邏輯操作,例如提交和回滾更改。

我個人並沒有看到使用這些模式會帶來任何性能上的提升,但它肯定會使開發更容易,並且使代碼更易於維護,我認爲這是一個優點。

Link to Unit of Work Pattern

0

庫模式是堅持和檢索您的域的骨料(骨料的東西,包括實體和值對象(DDDesign))。實體框架默認情況下支持UnitOfWork模式(context.SaveChanges()),您仍然需要存儲庫模式來檢索和保存您的聚合和實體。 大多數人使用UnitofWork並且還處理數據訪問層中的CRUD操作,但是正如我現在提到的單元工作的實體框架支持,您以後只能在存儲庫中使用唯一的存儲庫模式。

看到這個博客,希望它有助於:

http://ehsanghanbari.com/Post/44/does-it-cause-any-kind-of-performance-issue-using-a-base-class-in-layer-supertype-pattern

http://ehsanghanbari.com/Post/8/repository-pattern-practice-in-data-access-layer-via-entity-framework

http://ehsanghanbari.com/Post/23/layer-supertype-pattern-with-example-in-c