当使用NHibernate执行查询时,如果设置为大于实际返回的结果,则似乎不考虑批量大小。nhibernate替代批量大小
我正在使用最新版本的NHibernate 2.1.0.4000和Linq的NH到NHibernate。我有一个类似于Order的对象结构,它有一个OrderLines集合。该OrderLines已被定义为与下面的XML包:
<bag name="OrderLines" access="field.camelcase" table="MyDatabase.OrderLines" lazy="true" batch-size="50">
<key column="OrderId"/>
<one-to-many class="OrderLine"/>
</bag>
如果我查询订单,并得到50个结果支持它正确地选择所有OrderLines在一个单一的查询,但如果我不到50个结果反馈它似乎没有尊重定义的批量大小。
E.g.如果我得到40个结果,而不是50,如果执行3批次大小为25,12和3的查询
看起来它似乎正在尝试猜测正确的批量大小使用(即它是批量的一半大小第一,然后是其余的1/2等)。我预计它会一直执行批量大小为50,如果少于那么使批量大小尽可能大,在这种情况下批量大小为40.
如何获得NHibernate尊重我在所有情况下都定义了批量大小?