我有一张叫做"Orderrow"的桌子.Orderrow有一个复合主键(CPK),其中包含以下列:OrderId,ProductId,RowNumber
OrderId和ProductId也是引用Order和Product表的外键.RowNumber在应用程序中生成.
我想知道它是如何在NHibernate中映射的,因为我只能设置1个id元素和1个生成器子元素.
以下是在NHibernate映射文件中使用composite-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>
Run Code Online (Sandbox Code Playgroud)
您可以在类映射中使用"composite-id"属性,而不是"id"属性.但是,您应该知道nHibernate团队强烈反对使用它.听起来您正在处理遗留数据库,在该数据库中您无法控制架构.因此,'composite-id'专门针对您的情况.
有关更多信息,请查看NH文档:http://nhibernate.info/doc/nh/en/index.html
归档时间: |
|
查看次数: |
17265 次 |
最近记录: |