在 .NET 8 中,我有可在 API 控制器中工作的数据库上下文。如果我尝试访问服务中的 dbContext,它会引发错误。如何在控制器之外使用此上下文?
Microsoft.EntityFrameworkCore.Database.Connection[20004] 使用连接到服务器“(localdb)\mssqllocaldb”上的数据库“SomeContext”时发生错误。
连接字符串:
"ConnectionStrings": {
"SomeContext": "Server=(localdb)\\mssqllocaldb;Database=SomeContext;Trusted_Connection=True;MultipleActiveResultSets=true"}
节目中:
builder.Services.AddDbContext<SomeContext>(options =>
options.UseSqlServer(builder.Configuration.GetConnectionString("SomeContext") ?? throw new InvalidOperationException("Connection string 'SomeContext' not found.")));
抛出此错误的服务:
private readonly SomeContext_context;
public CqcService(SomeContext context)
{
_context = context;
}
public async Task<Provider?> GetProvider(string id)
{
var dbProvider = await _context.Provider.SingleOrDefaultAsync(x => x.ProviderId == id);
return dbProvider;
}
当我像这样调用它时,我必须等待我的方法:
var providers = await _SomeService.GetProviders("1");