我有一个包含集合的组件。如果我将集合标记为Inverse,我似乎无法让NHibernate持久保存集合中的项目。如果我在集合上没有Inverse,它们会持续存在,但是我得到一个插入,然后是一个更新语句。
我的映射是:
m => m.Component(x => x.Configuration, c =>
{
c.HasMany(x => x.ObjectiveTitleTemplates)
.Access.ReadOnlyPropertyThroughCamelCaseField(Prefix.Underscore)
.AsSet()
//.Inverse()
.KeyColumns.Add("ObjectiveProcessInstanceId")
.Cascade.AllDeleteOrphan();
});
有没有办法让它能够将集合标记为Inverse,从而避免额外的插入?
谢谢!
答案 0 :(得分:0)
将集合映射为反向是不够的。你必须:
当你使用Inverse
时,NHibernate不会保持这方面的关系。