C# NHibernate级联无仍在更新子级
我有以下代码单向一对多关联:C# NHibernate级联无仍在更新子级,c#,nhibernate,nhibernate-mapping,C#,Nhibernate,Nhibernate Mapping,我有以下代码单向一对多关联: Class A{ [Set(0, Lazy = CollectionLazy.False, Cascade = "none")] [Key(1, Column = "A_id")] [OneToMany(2, ClassType = typeof(B))] public virtual ISet<B> Values { get; set; } } Class B{ } 我正在合并a的一个新实例,它有一个空的B集合
Class A{
[Set(0, Lazy = CollectionLazy.False, Cascade = "none")]
[Key(1, Column = "A_id")]
[OneToMany(2, ClassType = typeof(B))]
public virtual ISet<B> Values { get; set; }
}
Class B{
}
我正在合并a的一个新实例,它有一个空的B集合
问题是nhibernate为什么要假设他必须处理该集合,以及如何避免这种行为?将
逆
属性设置为true
。这将让nhibernate知道它不应该处理集合更改,相反,您必须将更改持久化到其他地方的任何B
引用
如果引用已从值中删除,您仍然可以级联删除孤立项以从A删除到B,例如
例如:
[Set(0, Cascade = "all-delete-orphan", Inverse=true, Lazy = CollectionLazy.False)]
[Set(0, Cascade = "all-delete-orphan", Inverse=true, Lazy = CollectionLazy.False)]