NHibernate-Mapping 中的两个 FK 作为一个 PK?

Two FKs as one PK in NHibernate-Mapping?

我的数据库是这样的

 Role                      Role_AppUser              AppUser
 -------------             -------------             -------------
 |Id         | <-PK        |Id         | <-FK        |UserId     | <-PK
 |Name       |             |UserId     | <-FK        |PreName    |
 |Description|             |xy         |             |SurName    |        
 -------------             -------------             -------------

现在我要把Role_Appusertable的那2个FK变成合体PK。我如何使用我的 NHibernate 映射来做到这一点?我正在使用按代码映射。

提前致谢。

在映射中您可以使用 CompositeId:

public class Role_AppUserMap : ClassMap<Role_AppUser>
{
   public Role_AppUserMap()
   {
       Table("Role_AppUser")
       CompositeId()
         .KeyProperty(x=>x.RoleId, "Id")
         .KeyProperty(x=>x.UserId, "UserId");
   }
}