gpt4 book ai didi

orm - IdentityMap 所属的位置 : UnitOfWork or Repository?

转载 作者:行者123 更新时间:2023-12-04 19:48:08 25 4
gpt4 key购买 nike

如果我实现一些简单的 OR/M 工具,我应该把恒等映射放在哪里?显然,每个 Repository 都应该有权访问自己的标识映射,以便它可以注册加载的对象(或者 DataMapper 是在 IdentityMap 中注册对象的那个?)。

当我提交工作单元时,我还需要访问身份映射以查看哪个实体是脏的,哪个是干净的(或者我又错了,有一些外部对象调用了我的 UnitOfWork 的 RegisterClean/RegisterDirty 方法类?那么这是什么对象?)。

这是否意味着我应该将 IdentityMap 实现为一个完全独立的对象,其中包含每个实体类型的内部 IdentityMap?

对 IdentityMap、Repository 和 UnitOfWork 如何一起工作感到非常困惑。

最佳答案

用我们的.NET O/R Mapper, LightSpeed我们将身份映射放在工作单元类中。这对我们来说效果很好并且感觉很自然,因为它在工作单元的生命周期中有效地充当了用于查询目的的 1 级缓存。

通常,为您的 Repository 类注入(inject)或以某种方式提供 UoW,以便您拥有有效的范围和查询途径。

希望对您有所帮助。

关于orm - IdentityMap 所属的位置 : UnitOfWork or Repository?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1800183/

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