Si cela se produit, vous avez certainement manqué d'attribuer les deux côtés de la relation. Si cela était en place :
var parent = ...;
var child = ...;
parent.Children.Add(child);
child.Parent = parent;
Tout fonctionnera. Parce que le plus suspecté ici est que votre code ressemble à :
var parent = ...;
var child = ...;
parent.Children.Add(child);
// child.Parent = parent; // this is missing
et cela n'insérera pas d'enfants. Pourquoi ?
Parce que nous avons utilisé le .Inverse()
cartographie. C'est un réglage très puissant mais fragile. Cela permet à NHibernate de faire quelques optimisations importantes, mais cela nécessite - PARENT doit être défini dans l'enfant .
Consultez ce bel article
Inverse ="vrai" exemple et explication par mykong