开发者

Cascading items in a collection of a component

I have a component which contains a collection. I can't seem to get NHibernate to persist items in the collection if I have the collection marked as Inverse. They will persist if I don't have Inverse on the collection, but I get an insert and then an update statement.

My mapping is :

m => m.Component(x => x.Configuration, c =>
{
  c.HasMany(x => x.ObjectiveTitleTemplates)
    .Access.ReadOnlyPropertyThroughCamelCaseField(Prefix.Underscore)
    .AsSet()
    //.Inverse()
    .KeyColumns.Add("ObjectiveProcessInstanceId")
    .Cascade.AllDeleteOrphan();                                                               
});

Is there a way to get it working marking the collection as Inverse and therefore avoid开发者_如何学Going the extra insert?

Thanks!


Mapping the collection as inverse is not enough. You have to:

  • Create a Reference from the "Many" side
  • Update it when adding elements to the collection

When you use Inverse, NHibernate does not persist the relationship from that side.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜