使用自定义表扩展asp.net mvc 5标识

时间:2014-03-18 14:28:34

标签: c# asp.net asp.net-mvc asp.net-mvc-5 asp.net-identity

我有一个asp.net mvc 5应用程序,其个人用户帐户安全性扩展了用户角色和集中用户管理(用户无法创建帐户,只有应用程序管理员,即我,创建帐户并为其分配角色) 。

我的用户类看起来像这样:

public class ApplicationUser : IdentityUser
{

// User name, full name, e-mail etc....

}

它存储在" AspNetUsers"表格由身份提供......

现在我需要通过将CompanyID属性添加到ApplicationUser类和带有公司信息的新表(已存在于数据库中)来扩展它...

有人能指出我在哪里可以找到信息吗?

1 个答案:

答案 0 :(得分:12)

您只需要将映射添加到公司表中,如下所示:

public class ApplicationUser : IdentityUser
{

// User name, full name, e-mail etc....
    public virtual ICollection<Company> Companies { get; set; }
}

并在公司实体中:

public class Company
{

    //other properties
    public virtual ApplicationUser  User { get; set; }
}

然后在您的程序包管理器控制台中通过Add-Migration命令添加新的迁移。 在此之后,您将在Migrations文件夹中获得迁移脚本。

然后只需在同一控制台上调用Update-Database即可将迁移应用到数据库。