我有一张名为“Orderrow”的表。 Orderrow 有一个复合主键 (CPK),包含以下列:OrderId、ProductId、RowNumber
OrderId 和 ProductId 也是引用表 Order 和 Product 的外键。 RowNumber 在应用程序中生成。
我想知道这是如何在 NHibernate 中映射的,因为我只能设置 1 个 id 元素和 1 个生成器子元素。
最佳答案
以下是在 NHibernate 映射文件中使用复合 ID 属性的示例:
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="Domain" namespace="Domain.Model">
<class name="Program" table="program">
<composite-id>
<key-property name="Id" column="id"></key-property>
<key-property name="Prog" column="prog"></key-property>
<key-property name="Site" column="site"></key-property>
</composite-id>
<property name="ActiveDate" column="active_date"/>
<property name="Year" column="year"/>
</class>
</hibernate-mapping>
关于NHibernate 多主键映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/852995/