我在其中一个项目使用NHibernate 2.1.0.4000。 我已adonet.batch_size到100 CFG文件,但是我仍然看到插入语句作为单个语句处理。 更新似乎很好地工作。 这是怎么回事?
更新:是不是因为我选择身份的主键生成器?
<id name="Id" column="Id" unsaved-value="0" type="Int32">
<generator class ="identity"></generator>
</id>
我在其中一个项目使用NHibernate 2.1.0.4000。 我已adonet.batch_size到100 CFG文件,但是我仍然看到插入语句作为单个语句处理。 更新似乎很好地工作。 这是怎么回事?
更新:是不是因为我选择身份的主键生成器?
<id name="Id" column="Id" unsaved-value="0" type="Int32">
<generator class ="identity"></generator>
</id>
我不知道与特定的NHibernate的版本的任何问题。
在您使用native
的ID生成器为您的实体? 因为这将迫使每次插入单独发生,选择回生成的ID。 这是因为数据库需要生成每一个ID。 这也可以解释为什么配料似乎上的更新工作。
如果可能的话,你应该切换到例如hilo
策略,甚至是guid
,如果你不关心(容易)读取的ID。
法比奥有汉有趣的帖子在这里关于这个话题。