2015-04-02 87 views
1

實體存儲庫模式與實體框架6(及更高版本)是否是最佳實踐?爲什麼?看來,微軟並不推薦它!使用實體框架使用存儲庫模式6

+0

我也在找這個問題的答案。我打算用Entity Framework研究最新的ContosoUniversity教程,但我認爲從使用存儲庫的較舊的教程開始會更好,因爲我仍在學習,而且我的書籍基於存儲庫,所以對於我。我認爲大多數程序員仍在使用存儲庫,即使微軟不再推薦它,所以繼續使用它們應該不是問題。 – 2016-08-06 07:44:34

回答

0

我認爲將存儲庫模式添加到實體框架是一個好主意,因爲它可以在很多方面幫助您。但它也可能增加一層新的複雜性。因此需要考慮的要點如下:

  • 使用存儲庫可以將客戶端限制爲特定操作。 (根據需求和實現可以是專業或專業)
  • 您還可以爲複雜的操作提供現成的功能,因此客戶端不必重複該邏輯。
  • 存儲庫可以做成線程安全的,因爲DbContext不是。
  • 存儲庫將允許您獨立於實體框架,所以在將來如果您需要離開它,您可以輕鬆更改底層功能。
  • 你可以攔截庫中傳入的數據庫操作,並做任何你喜歡的事情。例如在多公司場景中添加where子句。
  • 測試變得更容易,因爲它變得容易模擬基礎功能。

但是存儲庫也有其他的缺點。 看看這些Is the Repository pattern useful with Entity Framework?Benefit of Unit of Work and Repository Pattern with Entity Framework

+0

根據[post](http://www.asp.net/mvc/overview/getting-started/getting-started-with-ef-using-mvc/advanced-entity-framework-scenarios-for-an- mvc-web-application#sql)它不需要實現存儲庫(有些我覺得它也不推薦,至少對於中小型項目) – Hadelo 2015-04-21 10:56:40