我正在使用类似于MVC模板项目的项目。
我创建了一些我希望在数据库中表示的模型。我可以使用DbContext类创建它们,问题是将我的类的RoleId与ASP.Net Identity的Role表的id连接。
关于如何做到这一点的任何想法?
答案 0 :(得分:3)
假设RoleDependent
是您的实体类。然后:
1)如果您需要{strong>一对多(1:N)关系 beetween RoleDependent
和Role
:
public class RoleDependent
{
public Int32 Id { get; set; }
public virtual IdentityRole IdentityRole { get; set; }
}
将导致以下迁移:
CreateTable("dbo.RoleDependents",
c => new
{
Id = c.Int(nullable: false, identity: true),
IdentityRole_Id = c.String(maxLength: 128),
})
.PrimaryKey(t => t.Id)
.ForeignKey("dbo.AspNetRoles", t => t.IdentityRole_Id)
.Index(t => t.IdentityRole_Id);
2)如果您需要{strong>一对一(1:1)关系 beetween RoleDependent
和Role
:
public class RoleDependent
{
public String Id { get; set; }
[ForeignKey("Id")]
public virtual IdentityRole IdentityRole { get; set; }
}
会导致迁移:
CreateTable("dbo.RoleDependents",
c => new
{
Id = c.String(nullable: false, maxLength: 128),
})
.PrimaryKey(t => t.Id)
.ForeignKey("dbo.AspNetRoles", t => t.Id)
.Index(t => t.Id);