C# 如何使用Set/List/Bag(按代码)在NHibernate中映射一对多
两个简单的类:C# 如何使用Set/List/Bag(按代码)在NHibernate中映射一对多,c#,nhibernate,nhibernate-mapping,mapping-by-code,C#,Nhibernate,Nhibernate Mapping,Mapping By Code,两个简单的类: public class Order { public virtual IList<OrderLine> Lines { get; set; } } public class OrderLine { .... } 公共类秩序 { 公共虚拟IList行{get;set;} } 公共类命令行 { .... } 我尝试使用以下代码进行映射: public class OrderLineMapping : ClassMapping<OrderLin
public class Order
{
public virtual IList<OrderLine> Lines { get; set; }
}
public class OrderLine
{
....
}
公共类秩序
{
公共虚拟IList行{get;set;}
}
公共类命令行
{
....
}
我尝试使用以下代码进行映射:
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 ={
});
}
}
public类OrderLineMapping:ClassMapping
{
OrderLineMapping()
{
Id(…)
属性(x=>…)
}
}
公共类OrderMapping:类映射
{
OrderMapping()
{
Id(…)
属性(x=>…)
//套装、包或单子
集合(x=>x.OrderLines,m={
});
}
}
在生成模式时,它表示:
NHibernate.MappingException:无法确定的类型
OrderLine,用于列:NHibernate.Mapping.Column(id)(…)
我错过了什么才能让一对多关系发挥作用?
如果我跳过OrderMapping中的OrderLines属性映射,直接保存订单行,我就没有问题了
另外:有人能告诉我一个方向,在那里我可以找到关于代码映射的好文档吗
谢谢大家! 找到缺失的零件-或至少一个正在工作的零件:
Set(x => x.Lines, m => { }, r => r.OneToMany());
是的,是打字错误。谢谢你指出这一点。