而不是進入代碼,我有一個簡單的問題。簡單一對多的默認行爲是插入子記錄,然後使用父鍵更新外鍵列。nHibernate一對多插入,但不更新
有沒有人曾經有過一對多的子對象被插入但未更新導致我的表中有一行在外鍵列中爲空?
我想要標準的一對多的默認行爲。我不想將父母作爲屬性添加到孩子。
謝謝。
而不是進入代碼,我有一個簡單的問題。簡單一對多的默認行爲是插入子記錄,然後使用父鍵更新外鍵列。nHibernate一對多插入,但不更新
有沒有人曾經有過一對多的子對象被插入但未更新導致我的表中有一行在外鍵列中爲空?
我想要標準的一對多的默認行爲。我不想將父母作爲屬性添加到孩子。
謝謝。
如果級聯=「保存更新」你的設置/袋
,或者如果您設置會話的FlushMode爲「無」或「提交」 和挽救了孩子使用沒有這會發生您的childRepository並忽略使用其存儲庫保存包含集合的對象。
我想你必須在子項中設置父引用。
class Parent {
public virtual IList<Child> Children;
}
class Child {
public virtual Parent Parent;
}
Parent p = new Parent();
Child c = new Child();
c.Parent = p;
p.Children = new List<Child>();
p.Children.Add(c);
現在,當你保存這個臨時對象p
你將不得不在子表中的右外鍵。
reach4thelasers,對不起,應該提到。我的包有Cascade =「全部刪除孤兒」。 – TedTrippin 2009-11-14 01:06:36