Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Nhibernate fügt parentid nicht in child ein

In diesem Fall haben Sie es sicherlich versäumt, beide Seiten der Beziehung zuzuordnen. Wenn dies vorhanden wäre:

var parent = ...;
var child = ...;
parent.Children.Add(child);
child.Parent = parent;

Alle werden funktionieren. Denn hier wird am meisten vermutet, dass Ihr Code wie folgt aussieht:

var parent = ...;
var child = ...;
parent.Children.Add(child);
// child.Parent = parent; // this is missing

und das fügt keine Kinder ein. Warum?

Weil wir .Inverse() verwendet haben Kartierung. Dies ist eine sehr mächtige, aber zerbrechliche Umgebung. Es erlaubt NHibernate, einige wichtige Optimierungen vorzunehmen, aber das erfordert - PARENT must be set in child .

Überprüfen Sie diesen netten Artikel

Inverse =„wahres“ Beispiel und Erklärung von mykong