使用存储库模式与实体框架6

时间:2015-04-02 09:49:40

标签: entity-framework repository-pattern

使用实体框架6(和更高版本)实现存储库模式是最佳做法吗?为什么?看来微软并不推荐它!

1 个答案:

答案 0 :(得分:1)

我认为在实体框架上添加存储库模式是个好主意,因为它可以帮助您在很多方面进行实施。但它也可以增加一层新的复杂性。所以要考虑的要点是:

  • 使用存储库可以限制客户端进行特定操作。 (可以是赞成或反对,取决于要求和实施)
  • 您还可以为复杂的操作提供现成的功能,因此客户不必重复该逻辑。
  • 可以使存储库成为线程安全的,因为DbContext不是
  • 存储库将允许您独立于实体框架,因此将来如果您需要远离它,您可以轻松地更改基础功能。
  • 您可以拦截存储库中的传入数据库操作,并使用它们执行任何您喜欢的操作。例如在多公司方案中添加附加where子句。
  • 随着模拟底层功能变得容易,测试变得更加容易。

但是存储库也有其他缺点。 看看这些Is the Repository pattern useful with Entity Framework?Benefit of Unit of Work and Repository Pattern with Entity Framework