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_Appuser
table的那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");
}
}
我的数据库是这样的
Role Role_AppUser AppUser
------------- ------------- -------------
|Id | <-PK |Id | <-FK |UserId | <-PK
|Name | |UserId | <-FK |PreName |
|Description| |xy | |SurName |
------------- ------------- -------------
现在我要把Role_Appuser
table的那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");
}
}