2009-04-30 38 views
0

this question我被熱烈回答映射從表的主鍵組成的實體。 因此,考慮:流利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工作,如果在「LdapUser」,並在「aspnet_Users」有一個名爲「用戶ID」列。

如果我想指定外鍵表的列名和主表中鍵的列名,因爲這不是pk,那麼使用另一列來執行連接?

回答

0

它看起來像這是目前在NHibernate不支持。在NHibernate的JIRA上有一個open issue。其實,我認爲這是爲了收藏,但也許適用於你在做什麼。您的想法是在<key>元素上添加一個property-ref屬性,該屬性指向要引用的屬性而不是主鍵。

據說NHibernate 2.1.0的Alpha2版本已經有了這個改變。當然,在NH2.1被加入FNH之前,它可能是一個普通版本。如果可以的話,我會建議你暫時保留Alpha2版本,並根據你的情況進行嘗試。如果它不適用於您的組合實體,只有集合,您可能希望在JIRA上提交另一個問題,以便它也被添加。

相關問題