Si esto sucede, seguramente no asignó ambos lados de la relación. Si esto estuviera en su lugar:
var parent = ...;
var child = ...;
parent.Children.Add(child);
child.Parent = parent;
Todo funcionará. Porque lo más sospechoso aquí es que tu código es como:
var parent = ...;
var child = ...;
parent.Children.Add(child);
// child.Parent = parent; // this is missing
y eso no insertará niños. ¿Por qué?
Porque usamos el .Inverse()
cartografía. Este es un escenario muy poderoso pero frágil. Permite que NHibernate realice algunas optimizaciones importantes, pero eso requiere:PARENT debe configurarse en child .
Mira este bonito artículo
Inverse ="verdadero" ejemplo y explicación por mykong