これは私の問題です。重複する列名でNHibernateマッピング結合を処理する方法
私は2つのテーブルStudentSchoolAssociationとStudentSchoolAssociationExtensionを持っています。名前が意味するように、一方は他方の拡張です。
StudentSchoolAssociationは、拡張テーブルの出番である標準ベースの表、であるように追加することはできませんテーブルです。
私が持っている問題ベースStudentSchoolAssociation表が含まれていることですSchoolYearの列には、という名前の列が必要です。SchoolCalendarという表への外部キーの参照は、SchoolYearです。
これは私が
私のNHibernateのマッピングファイルに参加<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>
を追加したとき、私は重複する列の例外を取得状況を作成します。
この問題を解決するためのベストプラクティスの方法を知っている人は、私の質問です。 StudentSchoolAssociationはロックされており、変更することはできず、SchoolCalendarテーブルへのFK参照が拡張テーブルに必要であることを覚えておいてください。
ExtensionテーブルのSchoolYearは、基本テーブルのSchoolYearとは異なるものを表していますか?さもなければ、あなたはもちろん両方を必要としません。彼らが異なることを表しているとすれば、拡張が可能であれば、Extensionテーブルの列の名前を変更することをお勧めします。 –