gpt4 book ai didi

entity-framework-4 - EF4 - 存储库和工作单元

转载 作者:行者123 更新时间:2023-11-30 23:54:39 25 4
gpt4 key购买 nike

我一直在寻找将存储库和工作单元集成到我的项目中的“正确”方法,但我一直在运行不同的变体。有些将存储库作为 uow 对象的成员。其他人拥有实现 IUnitOfWork 接口(interface)的存储库。我已经看到一些将 uow 对象作为参数传递给存储库的构造函数。

以一种方式比其他方式有什么好处吗?如果有共识,共识是什么?

最佳答案

我不能说那里已经达成共识,但是在我与许多建筑师就这个话题进行过交谈之后,我已经花了相当多的时间来评估这件事。我想出的是您希望保持对象管理(存储库)和事务(UnitOfWork)松散耦合并且彼此独立。您的存储库应该能够在无需使用事务的情况下运行,反之亦然。就其与存储库的关系而言,工作单元实际上只是事务的包装器。在您的情况下,您可能会使用 TransactionScope 实现来包装 EF2 存储库操作。在我们的框架中,我们将事务管理放入 DataServices 命名空间/项目中,并将我们的基础 Repository 类放入 ObjectAccess 命名空间/项目中。从那里我们为存储库操作和工作单元操作创建了一个 EF2 实现。我不能给你来源,但基本上我所做的如下:

  • 使用 NCommon 1.1 Beta 作为我的起点:NCommon
  • 在 NCommon
  • 中将工作单元与存储库操作分离
  • 然后我继续讨论如何管理我的 ObjectContext。

  • 我们即将发布该框架的第一个稳定版本。祝你好运!

    关于entity-framework-4 - EF4 - 存储库和工作单元,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4599328/

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