Asp.net Asp net核心标识:如何在控制器外部获取默认ApplicationDbContext?
我使用NetCore2.1,需要在启动时做一些准备,这需要几个直接的身份数据库查询 我试过:Asp.net Asp net核心标识:如何在控制器外部获取默认ApplicationDbContext?,asp.net,identity,Asp.net,Identity,我使用NetCore2.1,需要在启动时做一些准备,这需要几个直接的身份数据库查询 我试过: using (var serviceScope = serviceProvider.GetRequiredService<IServiceScopeFactory>() .CreateScope()) { var identityDb = serviceProvider.GetService<ApplicationDbContext>
using (var serviceScope = serviceProvider.GetRequiredService<IServiceScopeFactory>()
.CreateScope())
{
var identityDb = serviceProvider.GetService<ApplicationDbContext>();
}
使用(var serviceScope=serviceProvider.GetRequiredService()
.CreateScope())
{
var identityDb=serviceProvider.GetService();
}
这些行产生异常:无法从根提供程序解析作用域服务“Ecoc.Data.ApplicationDbContext”。
有没有办法在代码的任意位置获取数据库上下文 在这里找到了正确的方法(例如,他们从任意类访问会话) 使用而不是,然后创建一个作用域并使用其服务提供者 与您相关的示例:
var identityDb = serviceScope.ServiceProvider.GetService<ApplicationDbContext>();
var identityDb=serviceScope.ServiceProvider.GetService();