映射NHibernate的反面<;任何>;协会
Ayende有一个使用映射NHibernate的反面<;任何>;协会,nhibernate,nhibernate-mapping,Nhibernate,Nhibernate Mapping,Ayende有一个使用的很好的例子,我把它作为我问题的一部分重新发布,因为在那篇博文上的评论是关闭的。考虑到他的原始映射: <class name="Order" table="Orders"> <id name="Id"> <generator class="native"/> </id> <any name="Payment" id-type="System.Int64" meta-type="
的很好的例子,我把它作为我问题的一部分重新发布,因为在那篇博文上的评论是关闭的。考虑到他的原始映射:
<class name="Order" table="Orders">
<id name="Id">
<generator class="native"/>
</id>
<any name="Payment" id-type="System.Int64" meta-type="System.String" cascade="all">
<meta-value value="CreditCard" class="CreditCardPayment"/>
<meta-value value="Wire" class="WirePayment"/>
<column name="PaymentType"/>
<column name="PaymentId"/>
</any>
</class>
<class name="CreditCardPayment" table="CreditCardPayments">
<id name="Id">
<generator class="native"/>
</id>
<property name="IsSuccessful"/>
<property name="Amount"/>
<property name="CardNumber"/>
</class>
<class name="WirePayment" table="WirePayments">
<id name="Id">
<generator class="native"/>
</id>
<property name="IsSuccessful"/>
<property name="Amount"/>
<property name="BankAccountNumber"/>
</class>
。。。我将如何在CreditCardPayment和WirePayment类上映射名为Order的属性,这将是关联的“反面”,允许从这些支付返回到它们关联的顺序
我的问题是CreditCardPayment和WirePayment可能具有相同的ID,因为它们位于不同的表中,因此我需要某种方法来告诉NHibernate考虑PaymentType。NHibernate不支持双向异构关联(即
)
我知道这不是你想听的,但就是这样。谢谢!即使这不是我想听到的答案——它仍然是一个答案。