Hallo zusammen,
ich bin NHinernate-Newbie und verzweifel langsam an der ganzen Sache. Leider habe ich meine Mapping Dateien nicht zur Hand, also versuche ich mein kleines Problem so gut es geht so zu beschreiben. Ich stehe noch am Anfang, also versuche ich mich mit kleinen Beispielen daran hoch zu angeln.
Ich habe 2 Tabellen (Tabelle Parent und Tabelle Child) Parent hat einen PK mit dem Namen "Id", den ich mit der generator class "native" gekennzeichnet habe. Dazu kommt noch ein einfaches String Feld, das "Description" heißt. Zu guter letzt beinhaltet Parent noch ein ISet<Child>, dass meine one-to-many-Beziehung realisieren soll.
Child hat ebenfalls einen Key mit dem Namen "Id" und ebenfalls ist hier "native" als generator class eingestellt. Auch hier habe ich ein Description Feld, allerdins heißt es hier zu besseren Übersicht "ChildDescription" Für meine many-to-one-Beziehung gibt es hier eine Property mit dem vom Typ Parent.
Soweit so gut, ABER: Das ganze funktioniert nur, wenn ich entweder in Parent oder in Child einen anderen Namen für den Key verwende. Da funktioniert das sogar hervorangend. Die Childs werden ohne mein zu tun in der Datenbank mit der many-to-one-Beziehung abgebildet. Verwende ich allerdings bei beiden Tabellen den selben Key-Namen, bekomme ich beim Speichern IndexOutOfRangeException, dass irgendeine Anzahl nicht mit der Anzahl der SQL-Parameter übereinstimmen würde.
Ich habe schon Beispiele gesehen, in denen geraten wird beim many-to-one Mapping insert="false" update"false" zu benutzen. Leider hat das auch nicht wirklich Einfluss auf diese Problematik.
Kann mir vielleicht jemand Licht ins Dunkle bringen? Für Tips bin ich dankbar.
Gruß stitch84
|