【发布时间】:2010-02-19 01:17:38
【问题描述】:
我正在尝试查找有关 nHibernate 如何决定如何将多个插入批处理在一起的更多信息。显然,如果您有一个相同类型的简单对象列表,没有子对象,它就可以工作。
在我的应用程序中,我在三个表 A、B 和 C 之间存在一对多的关系:A 有很多 B,B 有很多 C。我正在为 A 的 Id 使用本机生成器,但为 B和 C 我只是使用在代码中分配的复合键,因此 nHibernate 只能进行插入。这些似乎工作正常,我可以正确保存所有对象。
问题在于 nHibernate 似乎不够聪明,无法尝试先批量插入所有类型 A 的对象,然后批量插入所有 B,最后批量插入所有 C。现在,它会尝试仅批处理 C 类型的对象(如果有多个)。
这听起来正确吗?有没有办法改变这种行为?
我的应用程序需要同时添加数百个 A、B 和 C 类型的对象,并且必须一个一个地做是一个很大的性能问题。
【问题讨论】:
标签: nhibernate batch-file insert