EF数据首先使用ASP.NET标识和MVC 5
我已经创建了一个ASP.NET MVC 5应用程序,使用个人用户帐户进行身份验证和SQL Server 2012 Express 这个模板似乎已经起作用了。我可以创建帐户,管理我的用户帐户,等等。现在我想使用EF为我的应用程序创建额外的表来使用,但是我做了一些错误的事情,因为正在创建冲突的类(如ApplicationDbContext{}) 基本上,我有默认的AspNet数据库表,我想在EF设计器中看到它。有一些字段我想添加到AspNetUsers表中 我这样做的方式是“添加项”,然后选择“EF Designer from database”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
在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控制台并键入启用迁移
要添加迁移类型添加迁移[输入说明]
提交到数据库类型更新数据库