Что делает MultipleActiveResultSets в строке подключения? - PullRequest
1 голос
/ 08 ноября 2019

Я хотел бы знать о множественных активных результирующих наборах. Я прочитал документацию Microsoft, но я не очень хорошо понял, если вы можете добавить какой-нибудь пример о MultipleActiveResultSets.

Когда включен MARSдля использования с SQL Server каждый используемый объект команды добавляет сеанс к соединению. Я не понял этого.

В общем, когда я должен использовать множественный активный результат в строке подключения?

Например, я использовал этот код для базы данных переноса, но яполучил ошибку.

Ключевое слово не поддерживается: 'multipactiveresultset'

  public static void Main(string[] args)
        {
            var host = CreateHostBuilder(args).Build();
            using(var scope = host.Services.CreateScope())
            {
                var services = scope.ServiceProvider;
                try
                {
                    var context = services.GetRequiredService<DataContext>();
                    context.Database.Migrate();
                }
                catch (Exception ex)
                {
                    var logger = services.GetRequiredService<ILogger<Program>>();
                    logger.LogError(ex, "An error occured during migration.");

                }
            }
            host.Run();
        }

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    }
  },
  "AllowedHosts": "*",
  "ConnectionStrings":{
      "DBConnection": "server=.;database=ReactivityDB;MultipleActiveResultSet=true;Trusted_Connection=True"
  }

}

1 Ответ

1 голос
/ 08 ноября 2019

В соответствии с вашим сообщением об ошибке:

Ключевое слово не поддерживается: 'multipleactiveresultset'

и строка подключения:

...database=ReactivityDB;MultipleActiveResultSet=true...

это ключевое словодолжно быть во множественном числе:

...database=ReactivityDB;MultipleActiveResultSets=true...
...