![](/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.