2009-04-30 6 views
0

this question私はテーブルのプライマリキーから構成エンティティをマップするために熱心に答えました。 だから、与えられた:「ldapuserの」にし、「aspnet_Users」の「ユーザーID」という名前の列がある場合流暢Nhibernate構成エンティティ、親キーを指定

public UserMap() 
{ 
    WithTable("aspnet_Users"); 
    Id(x => x.Id, "UserId") 
     .GeneratedBy.Guid(); 
    Map(x => x.Name, "UserName"); 
    Map(x => x.Login, "LoweredUserName"); 
    WithTable("LdapUsers", m => { 
      m.Map(x => x.FullName, "FullName"); 
      m.WithKeyColumn("UserId"); 
    }); 
} 

everithingで動作します。

何かこれはpkではないので、外部キーテーブルの列名とキーの列名の両方をメインテーブルから指定したい場合は、別の列を使用して結合しますか?

答えて

0

NHibernateではこれが現在サポートされていないようです。 NHibernateのJIRAにはopen issueがあります。実際には、これはコレクション用だと思いますが、おそらくあなたがやっていることにも当てはまります。考えているのは、property-ref属性を<key>要素に追加し、主キーの代わりに参照するプロパティを指すことです。

おそらくNHibernate 2.1.0のAlpha2リリースで変更が既に利用可能です。もちろん、NH2.1がFNHに追加される前の一般的なリリースであることもあります。可能であれば、Alpha2リリースを入手して、あなたの状況で試してみることをお勧めします。あなたの作成したエンティティではコレクションだけが動作しない場合、JIRAで別の問題を提出して追加することもできます。