我有我的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]”类型的服务。
在您上下文的构造函数中,您不再需要这样做
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)
| 归档时间: |
|
| 查看次数: |
4564 次 |
| 最近记录: |