sql >> Database >  >> RDS >> Oracle

Nhibernate voegt parentid niet toe aan kind

Als dit gebeurt, heb je zeker gemist om beide kanten van de relatie toe te wijzen. Als dit op zijn plaats zou zijn:

var parent = ...;
var child = ...;
parent.Children.Add(child);
child.Parent = parent;

Alles zal werken. Omdat de meest vermoede hier is dat uw code is als:

var parent = ...;
var child = ...;
parent.Children.Add(child);
// child.Parent = parent; // this is missing

en dat zal geen kinderen invoegen. Waarom?

Omdat we de .Inverse() . hebben gebruikt in kaart brengen. Dit is een zeer krachtige maar kwetsbare setting. Het stelt NHibernate in staat enkele belangrijke optimalisaties uit te voeren, maar dat vereist - PARENT moet zijn ingesteld in kind .

Check dit leuke artikel

Inverse ="true" voorbeeld en uitleg door mykong




  1. Gegevens uit 5 tabellen samenvoegen zonder dubbele waarden en resultaat krijgen met aangepaste status in Oracle 10g

  2. Transacties in SQL begrijpen

  3. SQL-query die overeenkomt met een van meerdere tekenreeksen

  4. PGError:FOUT:toestemming geweigerd voor relatie (bij gebruik van Heroku)