Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Nhibernate não inserindo parentid no filho


Se isso acontecer, você com certeza deixou de atribuir os dois lados da relação. Se isso estivesse em vigor:
var parent = ...;
var child = ...;
parent.Children.Add(child);
child.Parent = parent;

Todos funcionarão. Porque o mais suspeito aqui é que seu código seja assim:
var parent = ...;
var child = ...;
parent.Children.Add(child);
// child.Parent = parent; // this is missing

e isso não vai inserir crianças. Por quê?

Porque usamos o .Inverse() mapeamento. Esta é uma configuração muito poderosa, mas frágil. Ele permite que o NHibernate faça algumas otimizações importantes, mas isso requer - PARENT deve ser definido no filho .

Confira este belo artigo

Inverse =“true” exemplo e explicação por mykong