![](/img/trans.png)
[英]How to map a reference of a CompositeId using Fluent NHibernate
[英]How to use an Interface as part of a CompositeID in fluent Nhibernate
我在弄清楚如何在使用复合键的同时映射接口时遇到了麻烦。
我想做的是这样的:
interface Ifoo
{
int someInt {get;}
int id {get;}
}
class bar1: Ifoo
{
int someInt {get; protected internal set;}
int id {get; protected internal set;}
}
class bar2: Ifoo
{
int someInt {get; protected internal set;}
int id {get; protected internal set;}
}
class someOtherClass
{
Ifoo myFoo {get; protected internal set;}
int id {get; protected internal set;}
}
public class someOtherClassMap: ClassMap<someOtherClass>
{
CompositeId()
.KeyReference(x => x.myFoo, "fooID")
.KeyProperty(x => x.id, "id");
References(x => x.myFoo)
.Class(typeof (foo1))
.Class(typeof (foo2))
.Column("fooID")
.Not.Insert()
.Not.Update();
}
引用可以正常工作,但是我无法使KeyReference正常工作,并且似乎没有可以像引用一样使用的“ .Class”。
我读:
这样就可以解决“引用”问题,但是我还没有找到解决KeyReference的方法。 有什么明显的我想念的东西吗,因为我已经搜索了一段时间了,到目前为止还找不到任何东西。
这也许有效
.KeyReference(x => x.myFoo, attr => attr.Column("fooID").EntityName("bar1"))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.