Hier ist mein Problem.Wie NHibernate Mapping Join mit doppelten Spaltenname
Ich habe zwei Tabellen StudentSchoolAssociation und StudentSchoolAssociationExtension. Wie die Namen andeuten, ist man eine Erweiterung des anderen.
StudentSchoolAssociation ist eine Tabelle, wird nicht hinzugefügt, da es eine standardbasierte Tabelle ist, die ist, wo die Erweiterung Tisch kommt.
Das Problem, das ich habe, ist, dass die Basis StudentSchoolAssociation Tabelle a enthält Spalte für SchoolYear und die Erweiterungstabelle benötigt eine Spalte mit dem Namen SchoolYear für einen Fremdschlüssel Verweis auf eine Tabelle mit der Bezeichnung SchoolCalendar.
Dies schafft eine Situation, in der, wenn ich die
<join table="StudentSchoolAssociationExtension" schema="extension">
<key>
<column name="EntryDate" />
<column name="SchoolId" />
<column name="StudentUSI" />
</key>
<property name="HomelessMcKinneyServedIndicator" />
<property name="HomelessUnaccompaniedIndicator" />
<property name="SESAppliedIndicator" />
<property name="SESReceivingIndicator" />
<property name="CompletionDocumentDescriptorId" />
<property name="CompletionDocumentPeriodDescriptorId" />
<property name="TotalInstructionalMins" />
<property name="StudentStandardDayEffectiveDate" type="date" />
<property name="CompletionDocumentDate" type="date" />
<property name="SchoolCalendarNumber" />
<property name="LocalEducationAgencyId" />
<property name="DistrictCalendarNumber" />
<property name="SchoolYear" type="short" />
</join>
ich eine doppelte Spalt Ausnahme in meiner NHibernate-Mapping-Datei beitreten hinzufügen bekommen.
Meine Frage ist, wenn jemand einen Best Practices Weg kennt, um mit diesem Problem zu arbeiten. Denken Sie daran, dass StudentSchoolAssociation ist Eisen gesperrt und kann nicht geändert werden und eine FK-Referenz auf die SchoolCalendar Tabelle wird auf der Erweiterungstabelle benötigt.
Ich nehme an, dass SchoolYear auf der Erweiterungstabelle etwas anderes als SchoolYear auf der Basistabelle darstellt? Sonst würden Sie natürlich nicht beide brauchen. Angenommen, sie repräsentieren verschiedene Dinge, würde ich vorschlagen, den Namen der Spalte in der Tabelle Erweiterung zu ändern, wenn das möglich ist. –