Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# NHibernate级联无仍在更新子级_C#_Nhibernate_Nhibernate Mapping - Fatal编程技术网

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)]