EF数据首先使用ASP.NET标识和MVC 5

EF数据首先使用ASP.NET标识和MVC 5,asp.net,asp.net-mvc,entity-framework,Asp.net,Asp.net Mvc,Entity Framework,我已经创建了一个ASP.NET MVC 5应用程序,使用个人用户帐户进行身份验证和SQL Server 2012 Express 这个模板似乎已经起作用了。我可以创建帐户,管理我的用户帐户,等等。现在我想使用EF为我的应用程序创建额外的表来使用,但是我做了一些错误的事情,因为正在创建冲突的类(如ApplicationDbContext{}) 基本上,我有默认的AspNet数据库表,我想在EF设计器中看到它。有一些字段我想添加到AspNetUsers表中 我这样做的方式是“添加项”,然后选择“EF

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

这个模板似乎已经起作用了。我可以创建帐户,管理我的用户帐户,等等。现在我想使用EF为我的应用程序创建额外的表来使用,但是我做了一些错误的事情,因为正在创建冲突的类(如ApplicationDbContext{})

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

我这样做的方式是“添加项”,然后选择“EF Designer from database”


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

因为您使用的是Identity,所以我不会使用“添加项”选项对您的数据库进行任何更改

要向
应用程序用户
模型添加新属性,请找到文件
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; }
}
public类ApplicationDbContext:IdentityDbContext
{
公共应用程序上下文()
:base(“DefaultConnection”,throwIfVlSchema:false)
公共静态应用程序上下文创建()
{
返回新的ApplicationDbContext();
}
//在此处添加新表
公共DbSet NewModels{get;set;}
}
进行任何更改后,需要使用EF数据迁移将这些更改提交到数据库

要安装迁移,请使用Package Manager控制台并键入
启用迁移

要添加迁移类型
添加迁移[输入说明]


要提交数据库类型
更新数据库

,因为您使用的是标识,所以我不会使用“添加项”选项对数据库进行任何更改

要向
应用程序用户
模型添加新属性,请找到文件
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; }
}
public类ApplicationDbContext:IdentityDbContext
{
公共应用程序上下文()
:base(“DefaultConnection”,throwIfVlSchema:false)
公共静态应用程序上下文创建()
{
返回新的ApplicationDbContext();
}
//在此处添加新表
公共DbSet NewModels{get;set;}
}
进行任何更改后,需要使用EF数据迁移将这些更改提交到数据库

要安装迁移,请使用Package Manager控制台并键入
启用迁移

要添加迁移类型
添加迁移[输入说明]

提交到数据库类型
更新数据库