【问题标题】:does EF6 DbContext implement with UOW and Repository Pattern by Default默认情况下,EF6 DbContext 是否使用 UOW 和存储库模式实现
【发布时间】:2015-12-29 03:30:27
【问题描述】:

我试图找出 EF 的工作单元模式。在几个地方我读到 EF6 中的 DBcontext 默认带有 UOW 和存储库。

我现在有点困惑。我是否需要为 EF6 的 dbcontext 显式编写 UOW,或者我可以将它用作 DbContext.table.Commit() 它会做同样的事情。

【问题讨论】:

  • 如果你打算对UOWRepository进行单元测试,实现会有更大的可测试性

标签: entity-framework entity-framework-6 repository-pattern unit-of-work


【解决方案1】:

是的,实体框架已经有 UOW 和存储库模式。但是,当我们在实体框架上显式编写 UOW 和存储库时,它将在默认实体框架模型上再创建一层,我们通常会这样做,因为将来我们可能会将我们的 ORM(实体框架)更改为其他的并且可能没有 UOW 和存储库图案。

【讨论】:

  • +1,感谢 Majed 的评论。这下全说通了。但是要保持 UOW 和存储库模式独立于 ORM,您在服务层的项目中在哪里实现它,或者您将在服务和数据之间有单独的层来实现它。
  • 这是一个虚假的抽象。您很快就会发现,据称独立于 ORM 的 UoW 和 repo 将展示各种功能(参数、方法),这些功能表明 EF 在幕后。仅举一个例子:stackoverflow.com/a/15844995/861716
猜你喜欢
  • 2016-02-05
  • 2020-06-02
  • 2011-02-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多