我正在与类似于MVC模板项目的项目一起工作。
我创建了一些想要在数据库中表示的模型。我可以用DbContext类创建它们,问题是将类的RoleId与ASP.Net Identity的Role表的ID连接在一起。
关于这怎么可能的任何想法?
最佳答案
假设RoleDependent
是您的实体类。然后:
1)如果您需要RoleDependent
和Role
之间的一对多(1:N)关系:
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)如果您需要
RoleDependent
和Role
之间的一对一(1:1)关系: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);