gpt4 book ai didi

entity-framework - Entity Framework 工作单元

转载 作者:行者123 更新时间:2023-12-02 04:10:56 27 4
gpt4 key购买 nike

我在 EF 4 中使用 UnitOfWork 模式,只是想知道 EFUnitOfWork 的实现应该在哪里?它应该存在于存储库层中吗?我在域层中拥有所有接口(interface)。这听起来正确吗?

我正在使用 Ninject 通过 IUnitOfWork 注入(inject)存储库。

我想这真的没关系,因为您不会真正测试您的 EF 特定存储库,对吧?

另一种选择是让它存在于 EF 模型和上下文所在的数据层中。

通过将它放在存储库层中,该层现在需要对 System.Data.Entity 的引用。坏还是好?

最佳答案

在 DDD 之后,您通常需要在您的解决方案中使用 ProjectName.Core 项目。该项目的结构如下:

  • ProjectName.Core -> 存储库(全部
    您的存储库接口(interface))
  • ProjectName.Core -> 域模型
  • ProjectName.Core -> 基础设施 -> IUnitOfWork(uow 接口(interface))
  • ProjectName.Core -> Infrastructure -> DtatAccess(存储库实现和所有
    数据库相关文件,包括 uow 实现)

  • 有时,如果项目足够大,我会在我的解决方案中再添加一个名为 ProjectName.Infrastructure.DataAccess 的项目,并将所有 DataAccess 实现放在该项目中。

    关于entity-framework - Entity Framework 工作单元,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5227777/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com