2015-04-02 88 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