我收到此错误:没有人知道是什么原因造成的吗?
Service 'Microsoft.EntityFrameworkCore.DbContext' which was not registered.
但是,我在Startup CS中设置了数据库上下文。
services.AddDbContext<TestContext>(option => option.UseSqlServer(connstring));
答案 0 :(得分:1)
根据Using DbContext with dependency injection:
AddDbContext<TContext>
将使您的DbContext
类型,TContext
和 相应的DbContextOptions<TContext>
可用于注射 从服务容器中获取。
您似乎正在尝试注入DbContext
类,该类可能类似于:
public class MyController
{
private readonly DbContext _context;
public MyController(DbContext context)
{
_context = context;
}
...
}
但是,您应该注入来自 DbContext
的类,因为这是您使用services.AddDbContext<TestContext>
配置的。看起来像:
public class MyController
{
private readonly TestContext _context;
public MyController(TestContext context)
{
_context = context;
}
...
}