Как я могу использовать в Blazor WebAssembly несколько баз данных во время выполнения? - PullRequest
0 голосов
/ 20 июня 2020

Я использую Blazor WebAssembly на стороне клиента ASP. NET Ядро размещено, и мне нужно использовать несколько баз данных во время выполнения. Я имею в виду, что его можно переключать между базами данных. У меня есть база данных SQLServer и база данных SQLite. Он всегда будет использоваться, но его можно переключить во время выполнения.

Я сделал это в Startup.cs в проекте Blazor.Server:


      public void ConfigureServices(IServiceCollection services)
      {
        ....
         services
                .AddDbContext<SQLServerDbContext>(options =>          
                  options.UseSqlServer(_configuration["ConnectionStrings:SQLServerConnection"]))
                .AddDbContext<SQLiteTestDbContext>(options =>
                    options.UseSqlite(_configuration["ConnectionStrings:SQLiteTestConnection"]))
                .AddScoped<DbContextResolver>()
                .AddScoped<IDbContext>(p =>
                {
                    var resolver = p.GetRequiredService<DbContextResolver>();
                    if (!resolver.IsTest)
                    {
                        return p.GetRequiredService<SQLiteTestDbContext>();
                    }
                    return p.GetRequiredService<SQLServerDbContext>();
                });
        ...
     }

Как я могу изменить использование DbContext во время выполнения?

...