Oracle
 sql >> Database >  >> RDS >> Oracle

Nibernate non inserisce il genitore nel bambino

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