【发布时间】:2015-04-05 05:28:34
【问题描述】:
我在 NHibernate 中的映射有问题。
Order 表具有 Invoice_Id 列,该列是 Invoice 表的可为空的 FK。
问题是,当我加载Id 存在于Order 表中的Invoice 时,我看到ConnectedOrder 属性为空,为什么?
public class Invoice
{
public virtual Order ConnectedOrder { get; set; }
}
public class Order
{
public virtual Invoice ConnectedInvoice { get; set; }
}
public class InvoiceMap : ClassMap<Invoice>
{
public InvoiceMap()
{
this.References(x => x.ConnectedOrder).Nullable();
}
}
public class OrderMap : ClassMap<Order>
{
public OrderMap()
{
this.References(x => x.ConnectedInvoice).Nullable();
}
}
编辑
我已经像 Radim Köhler 所说的那样更改了我的类和映射,然后我找到了那个主题 Fluent NHibernate One-To-Many Mapping
还需要补充:
this.HasMany(x => x.Orders)
.KeyColumn("Invoice_id")
.Inverse()
.Cascade
.AllDeleteOrphan();
现在可以了
【问题讨论】:
标签: nhibernate fluent-nhibernate nhibernate-mapping