这是我的问题。
我有两个表 StudentSchoolAssociation 和 StudentSchoolAssociationExtension 。顾名思义,一个是另一个的延伸。
StudentSchoolAssociation 是一个无法添加的表,因为它是基于标准的表,这是扩展表的来源。
我遇到的问题是基本 StudentSchoolAssociation 表包含 SchoolYear 的列,扩展表需要一个名为 SchoolYear 的列外键引用一个名为 SchoolCalendar 的表。
这会产生一种情况,即我在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引用。
答案 0 :(得分:0)
它真的是一个重复的列例外吗?我敢打赌它是一个重复的属性异常。
尝试:
<join table="StudentSchoolAssociationExtension" schema="extension">
...
<property name="ExtendedSchoolYear" column="SchoolYear" type="short" />
</join>
当然,在您的扩展实体定义中添加ExtendedSchoolYear
属性。