2009-09-02 13 views
0

私は、かなり単純なマッピングの問題ではないと思うことがありますが、それを動作させるためには何が欠けているのかわからないことはありません。私はちょうど私がしようとしているかのポイントを取得するために簡単な例に飛び込むます:Nhibernateの継承ベースクラスの問題

//Base user class 
public class UserBase : Entity 
{ 
    //properties user class should have 
} 
// 
//Concrete User class (in different assembly) 
// 
//Item in same assembly as UserBase 
public class Item : Entity 
{ 
    public virtual UserBase User { get; set; } 
    //other properties etc.. 
} 

のでUSERBASEクラスのgetの実装と異なるアセンブリ内のUserクラスの一部としてマッピングされました。それは問題ありませんが、私はUserBaseをマッピングしていないので、マッピングがItemクラスで実行しようとすると、UserBaseがマップされていないため、吹き飛ばされます。

私の質問は、 Itemクラスに、具体的なクラスがUserBaseのものを使用するように指示することは可能ですか?

私はマッピングを行うためにFluent NHibernateを使用していますが、マッピングファイルの見た目を適切に押し出すことができれば、Fluent NHibernateでどのように行うかを理解することができます。あなたはユーザーベースのマッピングを作成し、また、ユーザーベースの一人ひとりのサブクラスのために、これらのクラスは、ユーザーベースのサブクラスであることを指定する必要があります

おかげで、 ブライアン

答えて

0

NHibernateには継承を実装する3つの方法があります。 Fluentにそれに関する文書があるかどうかは分かりませんが、thisの記事が役立つはずです。

+0

私はそれを前に一度見ていましたが、それを行うのにもっときれいな方法があると思っていました。私はそれが理にかなっていると思う。 –