Automatisch generierte Standardverbindungszeichenfolge vs. manuell hinzugefügte

Angenommen, ich habe eine einfache WPF-Anwendung, die Entity Framework-Code verwendet. Zuerst müssen Sie eine Datenbank erstellen, eine Verbindung herstellen und einige Daten anzeigen. Von Anfang an möchte ich mir keine Sorgen um Verbindungszeichenfolgen machen. Nach dem Hinzufügen eines Entityframework-Verweises über Nuget wird die automatisch generierte app.config folgendermaßen angezeigt:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
  </configSections>
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
      </providers>
  </entityFramework>
</configuration>

Ich führe einen Test durch und beobachte die Verbindungszeichenfolge:

var strings = ConfigurationManager.ConnectionStrings;

mit Ergebnis:

[0] = {data source=.\SQLEXPRESS;Integrated Security=SSPI;attachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true}

Da ich meine eigene Verbindungszeichenfolge definieren möchte, füge ich Folgendes in meine app.config ein:

<connectionStrings>
    <add name="MyContext" connectionString="data ource=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\myDb.mdf;Integrated Security=True" providerName="System.Data.SqlClient" />
</connectionStrings>

Wenn ich also den Test erneut durchführe und die Verbindungsringe beobachte, kann ich sehen, dass es jetzt zwei gibt:

[0] = {data source=.\SQLEXPRESS;Integrated Security=SSPI;attachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true}
[1] = {data source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\myDb.mdf;Integrated Security=True}

Warum kann ich zwei Verbindungszeichenfolgen sehen? Wenn der erste Standard ist, sollte er dann nicht vergessen werden, wenn ich einen erstellt habe?

Vielen Dank

Antworten auf die Frage(2)

Ihre Antwort auf die Frage