我试图保存子对象的集合(插入)父对象,所有的对象都是新的。 我更喜欢手动指定要保存的\更新,当,所以我不使用我自己的映射和冲洗会议级联任何节省。 所以基本上我保存这样的对象图:
session.Save(Parent)
foreach (var child in Parent.Childs)
{
session.Save(child);
}
session.Flush()
我希望这个代码中插入父行,然后每个子行,但NHibernate的执行这个SQL:
INSERT INTO PARENT....
INSERT INTO CHILD ....
UPDATE CHILD SET ParentId=@1 WHERE Id=@2 //What the point of update if ParentId was set in previous query
此更新语句是完全没有必要,的ParentId已经在INSERT设置正确。 我该如何摆脱它? 性能对我来说非常重要。