未注册的服务“ Microsoft.EntityFrameworkCore.DbContext”

时间:2019-08-07 23:23:23

标签: c# .net-core asp.net-core-2.2

我收到此错误:没有人知道是什么原因造成的吗?

 Service 'Microsoft.EntityFrameworkCore.DbContext' which was not registered.

但是,我在Startup CS中设置了数据库上下文。

 services.AddDbContext<TestContext>(option => option.UseSqlServer(connstring));

1 个答案:

答案 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;
    }

    ...
}
相关问题