gpt4 book ai didi

nhibernate - 使用 NHibernate 2.0.1 实现类似于lazy ="extra"的功能的最佳方法

转载 作者:行者123 更新时间:2023-12-03 18:00:27 24 4
gpt4 key购买 nike

我有一个多对一的关系,其中子表可以有数十万条记录。在这种情况下,调用 Parent.ChildCollection.Count 会强制对子集合进行延迟初始化,这是非常昂贵的。

在 Hibernate 3.0 中,有一个功能 lazy="extra"允许您检查集合属性的子集,而无需延迟加载整个内容。

不幸的是,在 NHibernate 2.1 之前,这将不可用,它仍处于 Alpha 阶段。
http://jira.nhibernate.org/browse/NH-855

我怎样才能用 NHibernate 2.0.1 做到这一点?

我曾经有这样的特殊属性

<property name="ChildCollectionCount" type="int" formula="(select count(*) from ChildTable child where child.parentID = parentID "/>

但我不能再使用这些了,因为我现在正在共享这个库,它对其他用户来说是一个性能问题。

最佳答案

当你说它对其他用户来说是一个性能问题时,你的意思是他们也想访问这个集合,但它对他们来说太大了。还是代码片段/ChildCollectionCount 对他们来说太慢了?

如果是第一种情况,那么也许您需要为他们做一个类似的解决方案 - 准确确定他们需要什么并提供提供该设施的方法。

关于nhibernate - 使用 NHibernate 2.0.1 实现类似于lazy ="extra"的功能的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/335597/

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