一切工作正常我的SellDepartment。我可以保存並得到PriceLines但我得到一個外鍵約束錯誤,當我嘗試將數據保存到我的SellEmployee TABEL:nHibernate:在多對多映射中使用一個tabel
INSERT語句衝突與外鍵約束 「FK9B5C4AB8B12F319A」
我知道我可以通過SellBase類來解決這個問題,SellDepartment和SellEmployee然後繼承,但我真的不喜歡在數據庫中有一個額外的tabel。
所以我的問題是,我可以通過使用映射文件解決這個問題嗎?如果是的話,我做錯了什麼?
我有一個包含不同的其他tabels線TABEL:
**PriceLines tabel**
PriceLineId
Price
Type
SellId
**SellDepartment tabel**
SellDepartmentId
Reason
DepartmentId
**SellEmployee tabel**
SellEmployeeId
Reason
EmployeeId
爲PriceLines我NHibernate的映射文件中有這麼多到一的映射:
<subclass name="Source1Line" discriminator-value="DepartmentLine" extends="PriceLines">
<many-to-one name="Source1" column="SourceId" class="Source1" />
</subclass>
<subclass name="Source2Line" discriminator-value="EmployeeLine" extends="PriceLines">
<many-to-one name="Source2" column="SourceId" class="Source2" />
</subclass>
和映射文件爲我SellDepartment和SellEmployee:
<set name="PriceLines" cascade="all-delete-orphan" inverse="true">
<key column="SellId"/>
<one-to-many class="DepartmentLine"/>
</set>
<set name="PriceLines" cascade="all-delete-orphan" inverse="true">
<key column="SellId"/>
<one-to-many class="EmployeeLine"/>
</set>
*請注意:也許這只是我和我的問題,但上面的簡化定義尚不清楚。雖然我想幫助,但不知道這是怎麼回事...... * –