无法解析ApplicationContext类型

时间:2017-08-21 07:47:58

标签: 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; }
}

Startup.cs

services.AddDbContext<ApplicationContext>(options =>
    options.UseSqlServer(Configuration.GetConnectionString("ApplicationDB")));

当我尝试获取实例时

var context = services.GetRequiredService<ApplicationContext>();

我收到以下错误

  

无法解析类型的服务   &#39; Microsoft.EntityFrameworkCore.DbContextOptions`1 [ChildContext]&#39;而   试图激活“ApplicationContext&#39;。

1 个答案:

答案 0 :(得分:3)

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

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

只做

public ApplicationContext(DbContextOptions options)
: base(options)
{
}