簡體   English   中英

NHibernate:使用區分符列作為多對一關系

[英]NHibernate: Using a discriminator column as a many-to-one relationship

我有兩個要映射的表。 Table1通過FK fk_table2_id與Table2具有多對一關系。

在table1的映射中,我還定義了一個鑒別器和一個子類,如下所示:

<class name="MyAssembly.MyClass1, MyAssembly" table="table1" discriminator-value="null">
<discriminator column="fk_table2_id" type="int"/>

<many-to-one name="Category" class="MyAssembly.MyClass2, MyAssembly" column="fk_table2_id"/>

<subclass name="MyAssembly.MyDerivedClass1, MyAssembly" discriminator-value="1"/>

嘗試保存MyClass1 / MyClass2時,出現以下錯誤:

SetUp : System.ArgumentOutOfRangeException : Index was out of range. Must be non-negative and less than the size of the collection.

參數名稱:索引

現在,我很確定這與我在區分符和關系中都使用一列這一事實有關。 這真的是一個限制嗎? 我該如何解決?

我認為我有解決方法,以防其他人需要它:

<discriminator type="int" formula="fk_table2_id"/>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM