NHibernate: есть ли ограничение размера партии до 10 единиц? - PullRequest
1 голос
/ 06 октября 2009

У меня проблема с NHibernate (SQL Server 2000, если это имеет значение).

Кажется, что NHibernate использует размер пакета, равный 10, даже если я указываю 500 (но если я указываю размер меньше 10, скажем, 3 - он использует 3)

<bag name="RiskTypes" table="CalculationQuery" lazy="false" batch-size="50">
  <key column="CalculationID"></key>
  <many-to-many class="RiskType" column="RiskType"></many-to-many>
</bag>

Я загружаю 11 элементов и вижу в NHProf, что он выполняет два запроса:

SELECT risktypes0_.CalculationID as Calculat1_1_,
       risktypes0_.RiskType      as RiskType1_,
       risktype1_.RiskTypeID     as RiskTypeID5_0_,
       risktype1_.RiskTypeName   as RiskType2_5_0_
FROM   CalculationQuery risktypes0_
       left outer join RiskType risktype1_
         on risktypes0_.RiskType = risktype1_.RiskTypeID
WHERE  risktypes0_.CalculationID in (373 /* @p0 */,363 /* @p1 */,364 /* @p2 */,365 /* @p3 */,
                                     366 /* @p4 */,367 /* @p5 */,368 /* @p6 */,369 /* @p7 */,
                                     370 /* @p8 */,371 /* @p9 */)
SELECT risktypes0_.CalculationID as Calculat1_1_,
       risktypes0_.RiskType      as RiskType1_,
       risktype1_.RiskTypeID     as RiskTypeID5_0_,
       risktype1_.RiskTypeName   as RiskType2_5_0_
FROM   CalculationQuery risktypes0_
       left outer join RiskType risktype1_
         on risktypes0_.RiskType = risktype1_.RiskTypeID
WHERE  risktypes0_.CalculationID = 372 /* @p0 */

1 Ответ

1 голос
/ 06 декабря 2010

Извините, если вам уже поздно, но это может быть полезно для кого-то еще: я нашел другой пост ( Пакетное обновление в NHibernate ), в котором упоминается параметр nhibernate cfg для определения размера пакета

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...