Gibt es einen bestimmten Grund, warum Sie die Verbindungszeichenfolge im db-Kontext fest codieren möchten. Normalerweise sollte es in der Konfigurationsdatei gespeichert werden. Sie können den Provider in der Konfigurationsdatei angeben und die Verbindungszeichenfolge aus Ihrem Kontext beziehen. Das wird dein Problem lösen.
%Vor%Und in Ihrer Konfigurationsdatei
%Vor%Ja: Sie können einen DbConnection-Typ vorbereiten, der an DbContext übergeben werden kann Das wurde vom zugrunde liegenden Provider erstellt und die Verbindungszeichenfolge korrekt erstellt.
So erreichen Sie diese Verbindungszeichenfolge in CODE ... siehe unten
%Vor%erinnern Sie sich, dass DBContext einen überladenen Konstruktor hat
%Vor%Sie brauchen also nur die Dbconnection, die vom zugrunde liegenden Fabrikanbieter erstellt wurde. Siehe
%Vor%was durch diese drei Typen ergänzt wird:
System.Data.Entity.Infrastructure.SqlCeConnectionFactory System.Data.Entity.Infrastructure.LocalDbConnectionFactory System.Data.Entity.InfrastructureSqlConnectionFactory
Hier ist ein Beispiel mit SQLConnectionFactory. Das gibt eine DBConnection zurück. Welche kann an DBContext übergeben werden. Sie können wiederholen / ändern oder variabel in Ihrer Freizeit programmieren. Für die anderen 2 Anbieter.
%Vor%Tags und Links c# entity-framework-5 code-first-migrations asp.net-mvc-4