两个简单的类:
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.Mapping.Column(id)(...)
我错过了能够让One-To-Many关系工作的原因吗? 如果我跳过在OrderMapping中映射OrderLines属性,并直接保存OrderLine,我没有问题。
另外:有人能指出我可以找到关于按代码映射的好文档的方向吗?
谢谢!
答案 0 :(得分:0)
找到缺失的部分 - 或者至少找到一个正在运作的部分:
Set(x => x.Lines, m => { }, r => r.OneToMany());