Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
映射NHibernate的反面<;任何>;协会_Nhibernate_Nhibernate Mapping - Fatal编程技术网

映射NHibernate的反面<;任何>;协会

映射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="

Ayende有一个使用
的很好的例子,我把它作为我问题的一部分重新发布,因为在那篇博文上的评论是关闭的。考虑到他的原始映射:

<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不支持双向异构关联(即


我知道这不是你想听的,但就是这样。

谢谢!即使这不是我想听到的答案——它仍然是一个答案。