C# 在nhibernate中停止要更新的子实体

C# 在nhibernate中停止要更新的子实体,c#,nhibernate,fluent-nhibernate,nhibernate-mapping,C#,Nhibernate,Fluent Nhibernate,Nhibernate Mapping,我遇到了问题,因为我的地图正在更新子实体,它实际上是数据库中的一个视图,这里是父地图的一部分 HasManyToMany(x => x.Child).Cascade.None() .Table("ParentToChild").Inverse(); 我的孩子地图是这样的 HasManyToMany(x => x.Parents).Cascade.All() .Table("ParentToChild");

我遇到了问题,因为我的地图正在更新子实体,它实际上是数据库中的一个视图,这里是父地图的一部分

  HasManyToMany(x => x.Child).Cascade.None()
                    .Table("ParentToChild").Inverse();
我的孩子地图是这样的

HasManyToMany(x => x.Parents).Cascade.All()
               .Table("ParentToChild");

但是,每次我尝试将子对象添加到parent(如parent.Childern.add(child))中时,都会出现一个错误“视图无法更新”,这是非常正确的,但我没有更改任何内容,我不想保存或插入子实体,因为这是一个视图。

我猜您是在尝试更新数据库视图而不是表。检查子项是否是数据库中的视图。如果是,则无法更新视图。

添加只读();到该实体的地图。

我知道这是一个视图,但我需要阻止nhibernate更新它。所以您想获取数据,但不想更新?您是否尝试过将该实体指定为只读?