Jika ini terjadi, Anda pasti melewatkan untuk menetapkan kedua sisi hubungan. Jika ini akan terjadi:
var parent = ...;
var child = ...;
parent.Children.Add(child);
child.Parent = parent;
Semua akan bekerja. Karena yang paling diduga di sini adalah kode Anda seperti:
var parent = ...;
var child = ...;
parent.Children.Add(child);
// child.Parent = parent; // this is missing
dan itu tidak akan memasukkan anak-anak. Mengapa?
Karena kami menggunakan .Inverse()
pemetaan. Ini adalah pengaturan yang sangat kuat tetapi rapuh. Ini memungkinkan NHibernate untuk melakukan beberapa pengoptimalan penting, tetapi itu memerlukan - PARENT harus disetel di anak .
Lihat artikel bagus ini
Inverse =contoh dan penjelasan “benar” oleh mykong