Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用Set/List/Bag(按代码)在NHibernate中映射一对多_C#_Nhibernate_Nhibernate Mapping_Mapping By Code - Fatal编程技术网

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());

是的,是打字错误。谢谢你指出这一点。