Ich habe Post-und Kommentar-Klassen, und sie haben eine eins zu viele Beziehung, wo Post eine Liste von Kommentaren hat. Wie kann ich dies als unidirektionale Beziehung mit Fluent NHibernate abbilden, da ein Kommentar seinen übergeordneten Post nicht kennen muss? Zur Zeit, das ist mein Mapping für Kommentar:Fluent NHibernate eins zu viele unidirektionale Zuordnung
Id(x => x.Id);
Map(x => x.Body);
References(x => x.User);
und für Beitrag:
Id(x => x.Id);
Map(x => x.Title);
HasMany(x => x.Comments)
.Inverse()
.WithKeyColumn("PostId")
.Cascade.AllDeleteOrphan();
Das funktioniert nicht, weil, wenn ich versuche, einen Beitrag Instanz mit einem neu hinzugefügte Kommentar zu speichern, den Fremdschlüssel auf Kommentar (PostId) bleibt NULL. Und natürlich kann ein Kommentar nicht mit einer NULL PostId gespeichert werden. Ich habe versucht, die .Inverse() -Klausel zu entfernen, aber das funktioniert auch nicht.
Ran in mir selbst. Sehr ärgerliche Einschränkung IMO. –
Es ist möglich mit NH3.1 und höher, siehe meine Antwort auf eine ähnliche Frage http://stackoverflow.com/questions/4466153/nhibernate-configuration-for-uni-directional-one-to-many-relation/7601312# 7601312 – hazzik