这似乎是一个非常明显的问题,但我一直无法找到明确的答案。我正在使用 FluentNHibernate 自动映射和 DefaultCascade.All() 约定。
实体正在保存,但在一对多的关系中,即使我通过添加到集合来保存,我也必须在我的多方面提供一侧。一个例子可能会更好地解释这一点:
假设我有这两个类:
public class Owner
{
public virtual IList<PetDog> Dogs { get; set; }
}
public class PetDog
{
public virtual Owner Owner { get; set; }
}
为了将新的 PetDog 添加到所有者的 Dogs 集合中,我觉得我应该可以调用
Owner.Dogs.Add(new PetDog());
并处置我的 ISession。但是,我只是让所有者节省,仅此而已。如果我明确设置
Owner.Dogs.Add(new PetDog { Owner = Owner })
有用。
有没有办法避免明确提供该值?