nhibernate чередует пакетный размер

Когда выполнение запроса с NHibernate, кажется, не уважает пакетный размер, если это установлено на больше, чем результаты, на самом деле возвращенные.

Я использую последнюю версию NHibernate 2.1.0.4000 и GA Linq к NHibernate. У меня есть структура объекта, подобная Порядку, который имеет набор 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 результатов назад, это, кажется, не уважает определенный пакетный размер.

Например, Если я возвращаю 40 результатов вместо 50, если выполняет 3 запроса с пакетным размером 25, 12 и 3

То, которое похоже на него, пытается предположить корректный пакетный размер для использования (т.е. это делает 1/2 пакетный размер сначала, затем 1/2 остаток и т.д.). Я ожидал бы, что это выполнит пакетный размер 50 все время и если существует, меньше затем делают пакетный размер столь большим, как это может, в этом случае пакетный размер 40.

Как я могу заставить NHibernate уважать пакетный размер, который я определил во всех случаях?

6
задан Jon Cahill 12 August 2009 в 04:51
поделиться