如何运行与调用setFetchMode(懒惰)NHibernate的的ICriteria查询时,懒惰=假HBM中定义的?

StackOverflow https://stackoverflow.com/questions/3822684

我想运行与懒惰许多-to-one关联条件查询。这些协会被设置为在HBM lazy="false"。这是因为我们把它翘首90%的项目。

不过,有人认为应该lazy="proxy"运行几个“大”查询。

HBM:

<many-to-one name="DestinationElement" class="X" column="DstElemId" not-null="true" unique="false" cascade="save-update" outer-join="auto" fetch="select" lazy="false" index="IDX_Ass_DestElem">

标准设置:

criteria.SetFetchMode("DestinationElement", FetchMode.Lazy);

它的工作原理相反的方式,但不是这样。它获取热切。

在LOC是20K +,并且这将会是一个巨大的重构做相反的方向。

我怎么能强迫这个懒洋洋地只有当我想取,并获取热切所有其他时间?

提前感谢!

有帮助吗?

解决方案

lazy="false"在HBM不能在查询重写(除了是一个好主意的99%的时间)

您将不得不更改代码。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top