Se ciò accade, hai sicuramente perso l'assegnazione di entrambi i lati della relazione. Se questo fosse a posto:
var parent = ...;
var child = ...;
parent.Children.Add(child);
child.Parent = parent;
Tutto funzionerà. Perché la cosa più sospettata qui è che il tuo codice è come:
var parent = ...;
var child = ...;
parent.Children.Add(child);
// child.Parent = parent; // this is missing
e questo non inserirà i bambini. Perché?
Perché abbiamo usato il .Inverse()
Mappatura. Questo è un ambiente molto potente ma fragile. Consente a NHibernate di eseguire alcune importanti ottimizzazioni, ma ciò richiede:GENITORE deve essere impostato in figlio .
Dai un'occhiata a questo bell'articolo
Inverse ="true" esempio e spiegazione di mykong