免责声明:我是一个没有人性的人,所以希望这个问题是有意义的。我在两个阶级之间有一种多对多的关系,像_
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”吗?
对。在本例中,“保存更新”听起来像是您想要的。
我在文档中从来没有找到对每个级联选项的很好的解释,但是使用了这个 blog post 作为参考。