Wenn Sie das Objektkontext-Datenmodell (mit EDMX-Datei) verwenden, möchten Sie möglicherweise während der Erstellung die Verbindungszeichenfolge in Ihrer Konfigurationsdatei angeben.Provider-Verbindungszeichenfolge von Entity Framework
Die Verbindungszeichenfolge ist leider nicht die allgemeine Verbindungszeichenfolge, da sie einige Dinge enthält, die für die Entitätsverbindungen benötigt werden. Beispiel mit MySql Verbindung:
<add name="MyDbEntities" connectionString="metadata=res://*/Namespace.MyDb.csdl|res://*/Namespace.MyDb.ssdl|res://*/Namespace.MyDb.msl;provider=MySql.Data.MySqlClient;provider connection string="server=172.17.17.154;User Id=user;password=password;Persist Security Info=True;database=MyDatabase;Convert Zero Datetime=true"" providerName="System.Data.EntityClient" />
Das Problem, das ich ist haben, dass diese Verbindungszeichenfolge der Verbindungszeichenfolge des Anbieters in der Parameter „Provider Verbindungszeichenfolge“ enthält.
Aus einem bestimmten Grund muss ich eine neue MySqlConnection erstellen, die nicht mit dem Entitätsmodell verknüpft ist. Zum Erstellen der MySqlConnection muss ich die mysql-Verbindungszeichenfolge angeben - das ist die Providerverbindungszeichenfolge für das Entitätsmodell, und ich weiß, dass die Verbindungszeichenfolge, die ich brauche, immer dieselbe Verbindungszeichenfolge für das Entitätsmodell ist.
Aber wie bekomme ich die Provider Verbindungszeichenfolge programmatisch? Ich war mit Surfen im Modellinstanz ohne Erfolg stecken ...
Die folgende:
ModelInstance.Connection.ConnectionString
enthält so etwas wie „name = TestBotEntities“, nicht einmal die ganze Verbindungszeichenfolge. Also habe ich versucht:
ConfigurationManager.ConnectionStrings["MyDbEntities"].ConnectionString
aber, dass man enthält die gesamte Verbindungszeichenfolge Einheit und ich weiß einfach nicht, wie es zu analysieren, wie nur die Provider Verbindungszeichenfolge von ihm zu bekommen.