c# - NHibernate 映射创建重复的外键

标签 c# nhibernate nhibernate-mapping

我有 2 个 POCO 映射如下:

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
    <class name="APPayment" table="APPayments">
        <id name="PaymentId">
            <generator class="guid" />
        </id>
        <many-to-one name="Invoice" class="APInvoice" cascade="none" 
            column="InvoiceId" index="ixPaymentInvoice" not-null="true" />
    </class>
    <class name="APInvoice" table="APInvoices">
        <id name="InvoiceId">
            <generator class="guid" />
        </id>
        <bag name="Payments" inverse="true" cascade="none" >
            <key column="PaymentId" foreign-key="fkInvoicePayments" />
            <one-to-many class="APPayment" />
        </bag>
    </class>
</hibernate-mapping>

出于某种原因,我无法理解,我在我的 APPayments 表上生成重复的外键:

fk9cdfbf509640182e
fkinvoicepayments

我认为这也会导致保存对象关系时出现一些其他问题。我是否错误配置了映射?我需要做什么才能使其正常工作?

最佳答案

这是你的问题:

<key column="PaymentId" ...

集合的应该是InvoiceId

关于c# - NHibernate 映射创建重复的外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10868216/

相关文章:

nhibernate - 在 NHibernate 中的映射级别过滤实体

mysql - MySQL 的 Nhibernate 映射工具

c# - Fluent NHibernate - 如何一对一映射子类?

c# - WPF - AvalonDock - 关闭文件

C# 从 double[] 方法返回 bool

c# - Global.asax 中的 Automapper 配置问题

nhibernate - 其中一个字段是 count(*) NHibernate

c# - 何时使用 SortedList<TKey, TValue> 而不是 SortedDictionary<TKey, TValue>?

c# - 无法使用 QueryOver 解析复合属性

nhibernate - 在共享主机上使用 CaSTLe Windsor 和 NHibernate 设施