0

J'ai un composant qui contient une collection. Je ne peux pas sembler obtenir NHibernate pour persister des éléments dans la collection si j'ai la collection marquée comme Inverse. Ils persisteront si je n'ai pas d'Inverse sur la collection, mais j'obtiens une insertion, puis une instruction de mise à jour.Objets en cascade dans une collection d'un composant

Ma cartographie est:

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

est-il un moyen de le faire marquer le travail de la collection comme inverse et donc d'éviter l'insert supplémentaire?

Merci!

Répondre

0

Le mappage de la collection comme inverse n'est pas suffisant. Vous devez:

  • Créer une référence du côté « plusieurs »
  • mise à jour lors de l'ajout d'éléments à la collection

Lorsque vous utilisez Inverse, NHibernate ne persiste pas la relation de ce côté .

Questions connexes