我的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;。
”
答案 0 :(得分:3)
在你的上下文的构造函数中,你不再需要这样做了
public ApplicationContext(DbContextOptions<ChildContext> options)
: base(options)
{
}
只做
public ApplicationContext(DbContextOptions options)
: base(options)
{
}