Das ist stuff ive schon oft gemacht aber mein Verstand blendet gerade aus, ich werde versuchen einen einfachen Überblick über meine aktuelle Situation zu geben.Mapping-Element via Füge-Tabelle mit NHibernate
Ich habe derzeit drei Tabellen wie unten dargestellt:
Office > id, name
Person > id, name
Office_Personnel > office_id, person_id
Ich habe dann ein Modell für die Person (id, name) und Büro, aber das Office-Modell enthält Personalinformationen:
public class Office
{
int Id {get;set;}
string Name {get;set;}
ICollection<Person> Personnel {get;set;}
}
Mapping Person ist einfach, aber jetzt bin ich ein wenig ratlos, warum Office nicht richtig zuordnen. Ich entschied mich für einen Satz zu verwenden, wenn ich das Personal war, Diagramme, da es keine Duplikate sein sollte, aber es scheint nicht zu arbeiten, wie ich erwarten würde ...
<set name="Personnel" table="office_personnel" cascade="all">
<key column="office_id" />
<one-to-many class="Person"/>
</set>
Jetzt eine Sache, die mich schlägt als Seltsam ist, dass es keinen Hinweis darauf gibt, für welche Person (Person_ID) verbindlich sein sollte. Es wird versucht, die Spalte * office_id * in der Personentabelle zu finden.
Ich bin sicher, das ist nur ein einfaches Problem und ich bin ein Idiot, aber jede Hilfe wäre großartig!
Auf einer Seite zur Kenntnis, war ich mit einem Gewicht, wenn ich noch einen Mann mittleren Tisch mit plagen sollte, da ich direkt eine office_id Spalte in der Tabelle Person setzen könnte, aber ich bin nicht 100% sicher, ob in meinem Echt Projekt der Klasse Person in mehreren Büros weiter auf der ganzen Linie sein könnte ...
Passend zu seinem Modell, letzteres ist es angemessener. –