首先,在使用Identity的DbContext之前,需要先安装Microsoft.AspNetCore.Identity.EntityFrameworkCore包。接着,在Startup.cs文件中,将AddDbContext方法替换为AddDbContextPool,并添加UseSqlServer方法以指定连接字符串。最后,在应用程序的构造函数中将DbContext注入依赖项注入容器中,以便在控制器中使用。
代码示例:
//安装Microsoft.AspNetCore.Identity.EntityFrameworkCore包 dotnet add package Microsoft.AspNetCore.Identity.EntityFrameworkCore
//Startup.cs文件中的配置
public void ConfigureServices(IServiceCollection services)
{
// 使用AddDbContextPool方法替换AddDbContext
services.AddDbContextPool
services.AddIdentity()
.AddEntityFrameworkStores()
.AddDefaultTokenProviders();
services.AddMvc();
}
//构造函数中的注入
public class AccountController : Controller
{
private readonly UserManager
public AccountController(
UserManager userManager,
SignInManager signInManager,
ILogger logger,
AppDbContext dbContext)
{
_userManager = userManager;
_signInManager = signInManager;
_logger = logger;
_dbContext = dbContext;
}
// 控制器中的DbContext使用
public async Task Index()
{
var users = await _dbContext.Users.ToListAsync();
return View(users);
}
}