如何在NHibernate中为泛型类创建映射文件。 说我有一堂课Foo 它在地图文档中的外观如何? class name =“mydll.Foo ????,mydll”......
我知道如果它是Foo它会是: class name =“mydll.Foo`1 [[mydll.Fee,mydll]],mydll”
会是这样的: class name =“mydll.Foo`1 [[mydll.Fee,mydll],[mydll.Fi,mydll]],mydll”(我试过这个,但它没有用。
答案 0 :(得分:0)
我可能在这里过头了(3天前刚刚开始做NHibernate),但它是否有意义来映射抽象类?你不能实例化一个抽象类,那么,为什么要将它映射到数据呢?
我最好的猜测是你必须将你的子类映射到他们需要的数据,并在你的基类上制作公共/受保护的setter,以便映射它们。这将意味着大量的复制粘贴,因为您以相同的方式为所有(在完美的世界中)子类映射基类。
答案 1 :(得分:0)
正确的映射是: class name =“mydll.Foo`2 [[mydll.Fee,mydll],[mydll.Fi,mydll]],mydll”
有两个通用元素,因此将1更改为2。 不确定这是否对类的name属性有效,但它适用于collection-type属性