2

Nhibernate hbm ファイルにクラスがあり、このために次のように複合 ID フィールドを使用しています。

 <composite-id>
    <key-many-to-one name="DContent" class="Business.Entities.DContent, Business" column="DId" />
    <key-many-to-one name="Structure" class="Business.Entities.Structure, Business" column="RId"/>
    <key-property name="Language"></key-property>
 </composite-id>

</class>

ここで、DContent と Structure はクラスであり、Language は int です。

Equals と GetHashCode メソッドを上書きして、複合キーの 3 つのオブジェクトを追跡しましたが、データベースにテーブルを作成するときに、2 つの DId と RId のみが主キーの一部であることがわかりました。 、言語ではありません。

私の質問は:言語が主キーの一部であることをNHibernateが認識しないのはなぜですか??

ありがとう、カタリン

4

0 に答える 0