Ако това се случи, със сигурност сте пропуснали да зададете и двете страни на връзката. Ако това беше на място:
var parent = ...;
var child = ...;
parent.Children.Add(child);
child.Parent = parent;
Всички ще работят. Защото най-подозреното тук е, че вашият код е като:
var parent = ...;
var child = ...;
parent.Children.Add(child);
// child.Parent = parent; // this is missing
и това няма да вмъкне деца. Защо?
Тъй като използвахме .Inverse()
картографиране. Това е много мощна, но крехка настройка. Позволява на NHibernate да извършва някои важни оптимизации, но това изисква - PARENT трябва да бъде зададен в подчинен .
Вижте тази хубава статия
Обратно =„вярно“ пример и обяснение от mykong