如何使用Set/List/Bag(按代码)在NHibernate中映射一对多

本文关键字:NHibernate 映射 代码 一对多 Set 何使用 List Bag | 更新日期: 2023-09-27 18:30:04

两个简单的类:

public class Order
{
     public virtual IList<OrderLine> Lines { get; set; }
}
public class OrderLine
{
   ....
}

我尝试使用通过代码进行映射

public class OrderLineMapping : ClassMapping<OrderLine>
{
    OrderLineMapping ()
    {
         Id(...)
         Property(x=>...)
    }
}
public class OrderMapping : ClassMapping<Order>
{
    OrderMapping ()
    {
         Id(...)
         Property(x=>...)
         // Set, Bag or List
         Set(x=> x.OrderLines, m ={       
});
    }
}

当生成模式时,它会说:

NHibernate.MappingException:无法确定的类型OrderLine,用于列:NHibernate.MMapping.Column(id)(…)

为了让一对多关系发挥作用,我错过了什么?如果我跳过映射OrderMapping中的OrderLines属性,直接保存OrderLine,我就没有问题了。

还有:有人能为我指明一个方向,让我找到关于代码映射的好文档吗?

谢谢!

如何使用Set/List/Bag(按代码)在NHibernate中映射一对多

找到丢失的零件-或者至少有一个正在工作:

Set(x => x.Lines, m => { }, r => r.OneToMany());