У меня проблема с 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 */