這似乎是一個非常明顯的問題,但我一直未能找到明確的答案。 我使用FluentNHibernate自動映射與DefaultCascade.All()約定。當我將實體添加到一對多集合時,是否需要設置一側的值?
實體正在保存,但是在一對多關係中,即使我通過添加到集合中進行保存,我也不得不在多方面提供一方。 一個例子可能會解釋這更好:
可以說,我已經有了這兩個類:
public class Owner
{
public virtual IList<PetDog> Dogs { get; set; }
}
public class PetDog
{
public virtual Owner Owner { get; set; }
}
爲了新PetDog添加到收藏的狗在一個所有者,我覺得我應該可以撥打
Owner.Dogs.Add(new PetDog());
並配置我的ISession。但是,我只是讓所有者保存並且多數民衆贊成。 如果我明確設置
Owner.Dogs.Add(new PetDog { Owner = Owner })
它的工作原理。
有沒有辦法避免明確提供該值?
請問你可以用類映射和測試代碼更新你的問題嗎? – mickfold 2013-03-25 18:38:20