如何运行与调用setFetchMode(懒惰)NHibernate的的ICriteria查询时,懒惰=假HBM中定义的?
-
26-09-2019 - |
题
我想运行与懒惰许多-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%的时间)
您将不得不更改代码。
不隶属于 StackOverflow