3 votes

Que signifie MultipleActiveResultSets dans la chaîne de connexion ?

J'aimerais en savoir plus sur les jeux de résultats actifs multiples. J'ai lu la documentation de Microsoft, mais je n'ai pas très bien compris si vous pouvez ajouter un exemple sur les jeux de résultats actifs multiples.

Lorsque MARS est activé pour une utilisation avec SQL Server, chaque objet de commande utilisé ajoute une session à la connexion. Je n'ai pas compris.

En général, quand dois-je utiliser "MultipleActiveResultSets" dans la chaîne de connexion ?

Par exemple, j'ai utilisé ce code pour la migration de la base de données, mais j'ai eu une erreur.

Mot-clé non pris en charge : "MultipleActiveResultSets" (en anglais)

  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"
  }

}

3voto

LarsTech Points 43510

D'après votre message d'erreur :

Mot-clé non pris en charge : 'multipleactiveresultset'.

et votre chaîne de connexion :

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

ce mot-clé doit être au pluriel :

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X