C# ASP.NET Core 2.1-IdentityUser问题-无法为';IdentityUser';此类型不包括在上下文的模型中
我已将代码从ASP.NET Core 2.0升级到Core 2.1。我创建了一个新的Core2.1项目,并将代码移动到新项目中。我已经提供了我的启动和C# ASP.NET Core 2.1-IdentityUser问题-无法为';IdentityUser';此类型不包括在上下文的模型中,c#,asp.net-core-2.1,C#,Asp.net Core 2.1,我已将代码从ASP.NET Core 2.0升级到Core 2.1。我创建了一个新的Core2.1项目,并将代码移动到新项目中。我已经提供了我的启动和ApplicationDbContext 尝试登录时出现以下错误 无法为“IdentityUser”创建数据库集,因为此类型不是 包含在上下文的模型中。 Microsoft.EntityFrameworkCore.Internal.InternalDbSet.get\u EntityType() startup.cs //Core 2.1 se
ApplicationDbContext
尝试登录时出现以下错误
无法为“IdentityUser”创建数据库集,因为此类型不是
包含在上下文的模型中。
Microsoft.EntityFrameworkCore.Internal.InternalDbSet.get\u EntityType()
startup.cs
//Core 2.1
services.AddDefaultIdentity<IdentityUser>()
.AddEntityFrameworkStores<ApplicationDbContext>()
.AddDefaultTokenProviders();
////Old Core 2.0 Code
//services.AddIdentity<ApplicationUser, IdentityRole>()
// .AddEntityFrameworkStores<ApplicationDbContext>()
// .AddDefaultTokenProviders();
//核心2.1
services.AddDefaultIdentity()
.AddEntityFrameworkStores
尝试更改公共部分类应用程序的bContext:IdentityDbContext,并使用提供给genericIdentityDbContext
类的类型。从startup.cs更改
services.AddDefaultIdentity<IdentityUser>()
services.AddDefaultIdentity()
到
services.AddDefaultIdentity()
作为后续措施:为了避免在此处修复后出现下一个可能的问题:您还必须更改视图\Shared\u LoginPartial.cshtml中的类型
从
@inject-SignInManager-SignInManager
@注入用户管理器用户管理器
到
@inject-SignInManager-SignInManager
@注入用户管理器用户管理器
将ApplicationDbContext
更改为:
private static bool _Created = false;
public ApplicationDbContext()
{
if (!_Created)
{
_Created = true;
Database.EnsureCreated();
}
}
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer(@"server = .\SQLSERVER; initial catalog = DBName; Integrated Security = True; MultipleActiveResultSets = True; App = EntityFramework & quot; ");
}
protected override void OnModelCreating(ModelBuilder builder)
{
base.OnModelCreating(builder);
}
h@ly$h1t!这就是答案!谢谢你,先生!但这超过了登录时的任何自定义域
services.AddDefaultIdentity<ApplicationUser>()
@inject SignInManager<IdentityUser> SignInManager
@inject UserManager<IdentityUser> UserManager
@inject SignInManager<ApplicationUser> SignInManager
@inject UserManager<ApplicationUser> UserManager
private static bool _Created = false;
public ApplicationDbContext()
{
if (!_Created)
{
_Created = true;
Database.EnsureCreated();
}
}
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer(@"server = .\SQLSERVER; initial catalog = DBName; Integrated Security = True; MultipleActiveResultSets = True; App = EntityFramework & quot; ");
}
protected override void OnModelCreating(ModelBuilder builder)
{
base.OnModelCreating(builder);
}