Quando si esegue una query con NHibernate non sembra che si rispetti la dimensione del batch se è impostato su un numero superiore ai risultati effettivamente restituiti.nibernate alternate dimensione batch
Sto utilizzando l'ultima versione di NHibernate 2.1.0.4000 e GA di Linq su NHibernate. Ho una struttura di oggetti simile all'ordine che ha una collezione di OrderLines. I OrderLines sono stati definiti come una borsa con il seguente codice XML:
<bag name="OrderLines" access="field.camelcase" table="MyDatabase.OrderLines" lazy="true" batch-size="50">
<key column="OrderId"/>
<one-to-many class="OrderLine"/>
</bag>
Se interrogo per gli Ordini e ottiene 50 risultati indietro seleziona correttamente tutte le OrderLines in una singola query, ma se ho meno di 50 risultati indietro non sembra rispettare le dimensioni del lotto definite.
E.g. Se ottengo 40 risultati indietro invece di 50 se eseguo 3 query con una dimensione batch di 25, 12 e 3
Sembra che stia tentando di indovinare la dimensione di batch corretta da utilizzare (ovvero fa 1/2 del batch prima la dimensione, poi 1/2 il resto ecc.). Mi aspetto che esegua una dimensione di batch di 50 tutto il tempo e se ce ne sono di meno rende la dimensione del batch più grande che può, in questo caso una dimensione del batch di 40.
Come posso ottenere il rispetto di NHibernate la dimensione del lotto che ho definito in tutti i casi?