Nhibernate 组件集合中的级联项

Nhibernate 组件集合中的级联项,nhibernate,fluent-nhibernate,nhibernate-mapping,components,Nhibernate,Fluent Nhibernate,Nhibernate Mapping,Components,我有一个包含集合的组件。如果将集合标记为反向,我似乎无法让NHibernate在集合中持久化项。如果我在集合上没有Inverse,它们将持续存在,但我得到一个insert语句,然后是一个update语句 我的映射是: m => m.Component(x => x.Configuration, c => { c.HasMany(x => x.ObjectiveTitleTemplates) .Access.ReadOnlyPropertyThroughCame

我有一个包含集合的组件。如果将集合标记为反向,我似乎无法让NHibernate在集合中持久化项。如果我在集合上没有Inverse,它们将持续存在,但我得到一个insert语句,然后是一个update语句

我的映射是:

m => m.Component(x => x.Configuration, c =>
{
  c.HasMany(x => x.ObjectiveTitleTemplates)
    .Access.ReadOnlyPropertyThroughCamelCaseField(Prefix.Underscore)
    .AsSet()
    //.Inverse()
    .KeyColumns.Add("ObjectiveProcessInstanceId")
    .Cascade.AllDeleteOrphan();                                                               
});
有没有办法让它工作起来,将集合标记为反向,从而避免额外的插入


谢谢

将集合映射为逆集合是不够的。你必须:

从多个方面创建一个引用 将元素添加到集合时更新它 当您使用Inverse时,NHibernate不会从该端保持关系