0
複合キーを使用しているときにインターフェイスをどのようにマッピングするかを理解できません。Fluent NhibernateのCompositeIDの一部としてInterfaceを使用する方法
は私がやろうとしていることはこれです:
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があるとは思えません"私は参考文献と同じように使うことができます。
私が読んで:
Fluent NHibernate, working with interfaces
Programming to interfaces while mapping with Fluent NHibernate
、それは私が参照の問題を修正しましょう、私はKeyReferenceの周りの仕事を見つけていません。私が逃している明らかな何かがあります、私はしばらくの間、グーグルグーグルをしていて、今まで何も見つけることができませんでした。
を動作しますが、私はその署名に一致するすべての機能を持っていません。 – Zipper
あなたは、あなた自身のバージョンのFNHを反映させるか、拡張する必要があります。私は必要に応じて反射のためのコードを投稿することができます。 – Firo