无法解析 ApplicationContext 类型的服务

sim*_*ada 2 c# asp.net-core

我有我的ApplicationContext如下: -

您可以看到我正在从ChildContext(子类)派生 ApplicationContext,最终派生自“IdentityDbContext”。

public class ApplicationContext : ChildContext
{
    public ApplicationContext(DbContextOptions<ChildContext> options)
    : base(options)
    {
    }

    public DbSet<Class> Class { get; set; }
}


public  class ChildContext : IdentityDbContext<IfsUser>, IIFSContext
{
    public ChildContext(DbContextOptions<ChildContext> options)
    : base(options)
    {
    }

    public virtual DbSet<Student> Students { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

启动文件

services.AddDbContext<ApplicationContext>(options =>
    options.UseSqlServer(Configuration.GetConnectionString("ApplicationDB")));
Run Code Online (Sandbox Code Playgroud)

当我尝试获取实例时

var context = services.GetRequiredService<ApplicationContext>();
Run Code Online (Sandbox Code Playgroud)

我收到以下错误

尝试激活“ApplicationContext”时无法解析“Microsoft.EntityFrameworkCore.DbContextOptions`1[ChildContext]”类型的服务。

imm*_*rza 9

在您上下文的构造函数中,您不再需要这样做

public ApplicationContext(DbContextOptions<ChildContext> options)
: base(options)
{
}
Run Code Online (Sandbox Code Playgroud)

做就是了

public ApplicationContext(DbContextOptions options)
: base(options)
{
}
Run Code Online (Sandbox Code Playgroud)