Ayende有一个使用<any>映射here的很好的例子,我将其作为我问题的一部分重新发布,因为该博客帖子的评论是关闭的。给出他的原始映射:
<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可能具有相同的I,因为它们位于不同的表中,所以我需要一些方法来告诉NHibernate将PaymentType考虑在内。
发布于 2010-10-05 04:57:02
NHibernate不支持双向异构关联(即<any>)。
我知道这不是你想听的,但仅此而已。
https://stackoverflow.com/questions/3856847
复制相似问题