是否可以自定义ConfigurationDBContext?我已经创建了一个,代码在下面
public class MyConfigurationDbContext : ConfigurationDbContext
{
public MyConfigurationDbContext(DbContextOptions<ConfigurationDbContext> options,
ConfigurationStoreOptions storeOptions)
: base(options, storeOptions)
{
}
}
我注意到ConfigurationDBContext需要特殊的DbContextOptions
DbContextOptions<ConfigurationDbContext>
我现在有点困惑。在我再进一步之前,只想检查以前是否有人这样做过?或者,如果有人可以指出关于此的项目或教程。
答案 0 :(得分:0)
IdentityServer4.EntityFramework
中IConfigurationDbContext
的定义
public interface IConfigurationDbContext : IDisposable
{
DbSet<Client> Clients { get; set; }
DbSet<IdentityResource> IdentityResources { get; set; }
DbSet<ApiResource> ApiResources { get; set; }
int SaveChanges();
Task<int> SaveChangesAsync();
}
此接口允许开发人员自定义上下文。如果您不想继承ConfigurationDbContext
(绑定到Ef.Core.DbContext
),则可以构建自己的IConfigurationDbContext
实现,只需添加IDbContextFactory<MyConfigurationDbContext>
public class IdentityConfigurationDbContextFactory : IDbContextFactory<MyConfigurationDbContext>
{
public MyConfigurationDbContext Create(DbContextFactoryOptions options)
{
//....
}
}