免责声明:我是一名NHibernate noobie,所以希望这个问题有道理。我在两个类之间有多对多的关系,比如......
public class Entity1
{
public virtual Guid EntityId { get; set; }
public virtual IList<Entity2> Entity2List;
}
Public class Entity2
{
public virtual Guid EntityId { get; set; }
public virtual IList<Entity1> Entity1List;
}
我在两个类映射中都添加了一个多对多关系,定义了一个关联表但不确定要使用哪个级联选项。我希望能够创建一个新的Entity1实例,将新的Entity2实例添加到它的列表中,调用Save,并将两者都插入到数据库中(反之亦然)。删除实体时,它应删除与子实体的任何关联,但不删除子实体本身。我应该使用cascade =“save-update”吗?
答案 0 :(得分:26)
是。听起来像'保存更新'就是你想要的,在这种情况下。
我从未在文档中找到每个级联选项的精彩解释,但已使用Ayende的blog post作为参考。