Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core 如何在Asp.Net Core 2中正确注册自定义标识服务器配置DBContext?_Asp.net Core_Entity Framework Core_Asp.net Core 2.0_Identityserver4_Entity Framework Migrations - Fatal编程技术网

Asp.net core 如何在Asp.Net Core 2中正确注册自定义标识服务器配置DBContext?

Asp.net core 如何在Asp.Net Core 2中正确注册自定义标识服务器配置DBContext?,asp.net-core,entity-framework-core,asp.net-core-2.0,identityserver4,entity-framework-migrations,Asp.net Core,Entity Framework Core,Asp.net Core 2.0,Identityserver4,Entity Framework Migrations,我正在尝试从IdentityServer创建自己的ConfigurationDbContext public class IdSrvConfigurationDbContext : ConfigurationDbContext<ConfigurationDbContext> { public IdSrvConfigurationDbContext(DbContextOptions<IdSrvConfigurationDbContext> options, Conf

我正在尝试从IdentityServer创建自己的ConfigurationDbContext

public class IdSrvConfigurationDbContext : ConfigurationDbContext<ConfigurationDbContext>
{
    public IdSrvConfigurationDbContext(DbContextOptions<IdSrvConfigurationDbContext> options, ConfigurationStoreOptions storeOptions) : base(options.ChangeOptionsType<ConfigurationDbContext>(), storeOptions)
    {

    }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        //mylogic here  
        base.OnModelCreating(modelBuilder);
    }
}
现在,当我尝试在我的项目上运行迁移时,它经历了所有启动逻辑注入,并以以下错误结束:


您需要设置
IdSrvConfigurationDbContext
类型,以期望使用
DbContextOptions
。这就是底层
ConfigurationDbContext
所期望的类型,也是IdentityServer将要传递的类型

通常,您应该始终使用与上下文匹配的键入的
DbContextOptions
。但是当从现有上下文继承时,这可能有点困难。但在这些情况下,您不需要太担心:类型化选项仅用于区分各种配置的选项。因此,只要应用程序中的每个上下文仍然使用单独的类型,就不会有任何问题

    services.AddIdentityServer()
            .AddDeveloperSigningCredential()
            .AddConfigurationStore(options =>
            {
                // (DbContextOptionsBuilder) paramBuilder
                options.ConfigureDbContext = paramBuilder =>
                    paramBuilder.UseSqlServer(connectionString,
                        sql => sql.MigrationsAssembly(migrationAssembly));
            });