Я обновил свое веб-приложение .NET 2.0 с .NET 3.0. Теперь он компилируется, но когда я пытаюсь войти в систему, я получаю сообщение об ошибке «InvalidOperationException: невозможно создать DbSet для ApplicationUser», так как этот тип не включен в модель для контекста ». Очевидно, что вызов базы данных не может быть выполнен, но я не вижу, в чем заключается моя ошибка.
Я получил это в Startup.cs (ConfigureServices)
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
services.AddDefaultIdentity<ApplicationUser>()
.AddEntityFrameworkStores<ApplicationDbContext>()
.AddDefaultTokenProviders();
Вот мое приложение DBContext.cs:
public class ApplicationDbContext : IdentityDbContext
{
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
: base(options)
{
}
protected override void OnModelCreating(ModelBuilder builder)
{
base.OnModelCreating(builder);
}
}
Стек ошибок выглядит следующим образом:
Microsoft.EntityFrameworkCore.Internal.InternalDbSet.get_EntityType ()
Microsoft.EntityFrameworkCore.Internal.InternalDbSet.CheckState ()
Microsoft.EntityFrameworkCore.Internal.InternalDbSet.get_EntityQueryable ()
Microsoft.EntityFrameworkCore.Internal.InternalDbSet.System.Linq.IQueryable.get_Provider ()
Microsoft.EntityFrameworkCore.EntityFrameworkQueryableExtensions.ExecuteAsync (MethodInfo operatorMethodInfo, источник IQueryable,
Выражение выражения, CancellationToken cancellationToken)
Microsoft.EntityFrameworkCore.EntityFrameworkQueryableExtensions.ExecuteAsync (MethodInfo operatorMethodInfo, источник IQueryable,
Выражение LambdaExpression, CancellationToken cancellationToken)
Microsoft.EntityFrameworkCore.EntityFrameworkQueryableExtensions.FirstOrDefaultAsync (IQueryable
источник, выражение> предикат, CancellationToken
CancellationToken)
Microsoft.AspNetCore.Identity.EntityFrameworkCore.UserOnlyStore.FindByNameAsync (строка normalizedUserName,
Отмена взята Отмена взята)
Microsoft.AspNetCore.Identity.UserManager.FindByNameAsync (строка
Username)
Microsoft.AspNetCore.Identity.SignInManager.PasswordSignInAsync (строка
имя пользователя, пароль строки, bool isPersistent, блокировка boolOnFailure)
ImSmart.Controllers.AccountController.Login (модель LoginViewModel,
строка returnUrl) в AccountController.cs
+
var result = await _signInManager.PasswordSignInAsync (model.Email, model.Password, false, lockoutOnFailure: true);
Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor + TaskOfIActionResultExecutor.Execute (IActionResultTypeMapper
маппер, исполнитель ObjectMethodExecutor, контроллер объекта, объект []
аргументы)
Чего мне не хватает?