Entity framework EF6 DbContext是否默认使用UOW和存储库模式实现
我试图找出EF的工作单元模式。在一些地方我读到EF6中的DBcontext默认带有UOW和RepositoryEntity framework EF6 DbContext是否默认使用UOW和存储库模式实现,entity-framework,entity-framework-6,repository-pattern,unit-of-work,Entity Framework,Entity Framework 6,Repository Pattern,Unit Of Work,我试图找出EF的工作单元模式。在一些地方我读到EF6中的DBcontext默认带有UOW和Repository 我现在有点困惑。我是否需要显式地为EF6的dbcontext编写UOW,或者我可以将其用作dbcontext.table.Commit(),它也会这样做。是的,实体框架已经有了UOW和存储库模式。然而,当我们显式地在实体框架上编写UOW和存储库时,它将在默认实体框架模型上再创建一层,我们通常这样做,因为将来我们可能会将我们的ORM(实体框架)更改为其他的,并且可能没有UOW和存储库模式
我现在有点困惑。我是否需要显式地为EF6的dbcontext编写UOW,或者我可以将其用作dbcontext.table.Commit(),它也会这样做。是的,实体框架已经有了UOW和存储库模式。然而,当我们显式地在实体框架上编写UOW和存储库时,它将在默认实体框架模型上再创建一层,我们通常这样做,因为将来我们可能会将我们的ORM(实体框架)更改为其他的,并且可能没有UOW和存储库模式 如果您计划单元测试
UOW
和Repository
实现将具有更高的可测试性+1,感谢您的评论。现在一切都有意义了。但是,为了使UOW和存储库模式独立于ORM,您在服务层的项目中在哪里实现它,或者在实现服务和数据的地方有单独的层。这是一个虚假的抽象。您很快就会看到,您的独立UoW和repo将展示各种各样的特性(参数、方法),表明EF处于保护之下。举个例子: