Я следующая за documentation for using Identity и пытаюсь зарегистрировать новый пользователь (Исполнительное действие регистра), но она не со следующей ошибкой:InvalidOperationException при регистрации нового пользователя с ядром идентичностью ASP .NET и EntityFrameworkCore
InvalidOperationException: Cannot create a DbSet for 'ApplicationUser' because this type is not included in the model for the context.
запуска:
services.AddIdentity<ApplicationUser, IdentityRole>(options =>
{
//password options
options.Password.RequireDigit = false;
// ...
})
Я использую стандартный ApplicationUser:
public class ApplicationUser : IdentityUser
{
}
Регистрация действий в AccountController:
public async Task<IActionResult> Register(RegisterViewModel viewModel)
{
if (ModelState.IsValid)
{
var user = new ApplicationUser { UserName = viewModel.UserName, Email = viewModel.Email };
var result = await _userManager.CreateAsync(user, viewModel.Password); //<-- Exception happens here
if (result.Succeeded)
{
await _signInManager.SignInAsync(user, isPersistent: false);
_logger.LogInformation(3, "User created a new account with password.");
return RedirectToAction(nameof(HomeController.Index), "Home");
}
string errorData = "";
foreach (var error in result.Errors)
{
errorData += error.Description + '\n';
}
StoreErrorMessage("Failed to create the user!", errorData);
}
return View(viewModel);
}
Я уже пробовал следующее:
- Добавление
DbSet<ApplicationUser>
кAplicationContext
- я создать и применить новую миграцию через
dotnet ef
Является ли это решение для обратной инженерии, т. Е. Для первого подхода к базе данных? –
У меня все еще такая же проблема при применении этого исправления – Jeroen
Я полагаю, вы используете IdentityDbContext из пространства имен Microsoft.AspNetCore.Identity.EntityFrameworkCore? – Jeroen