EF数据首先使用ASP.NET身份和MVC 5



我已经使用单个用户帐户进行身份验证创建了一个ASP.NET MVC 5应用程序和SQL Server 2012 Express。

模板似乎有效。我可以创建帐户,管理我的用户帐户等。现在,我想使用EF为我的应用程序创建其他表,但是我做的错误,因为正在创建冲突的类(例如ApplicationDbContext {})。/p>

基本上,我有默认的ASPNET数据库表,我想在EF设计器中看到它。我想将一些字段添加到Aspnetusers表中。

我这样做的方式是"添加项目",然后选择"来自数据库的EF设计器"。

在EF Designer中包含默认ASPNET*表的方法是什么,而不会生成由初始ASP.NET模板创建的冲突类?我正在使用VS 2015社区。

由于您使用的是身份,因此我不会使用"添加项目"选项对数据库进行任何更改。

要在ApplicationUser模型中添加新属性,找到文件IdentityModels.cs。您应该看到类似于下面的东西。

public class ApplicationUser: IdentityUser
{
    // add new properties here
    public DateTime DateOfBirth { get; set; }
}

此文件也是您将新表/型号放置的地方。

public class ApplicationDbContext: IdentityDbContext<ApplicationUser>
{
    public ApplicationDbContext() 
        : base("DefaultConnection", throwIfVlSchema: false)
    public static ApplicationDbContext Create()
    {
        return new ApplicationDbContext();
    }
    // Add new tables here
    public DbSet<NewModel> NewModels { get; set; }
}

进行了任何更改后,您需要使用EF数据迁移将这些更改提交数据库。

安装迁移使用软件包管理器和键入Enable-Migrations

添加迁移类型add-migration [enter a description]

提交数据库类型update-database

最新更新