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