Wie fügt man den "Provider Name" in der Connection String zur Context Datei hinzu?

8

Ich verwende das Entity Framework 5 Code-approch. Hier ist meine Kontextdatei:

%Vor%

}

Hier habe ich die Verbindungszeichenfolge im Konstruktor hinzugefügt. Aber gibt es eine Möglichkeit, den "Provider Name" der Verbindungszeichenfolge hinzuzufügen?

    
raisul 25.08.2013, 07:46
quelle

2 Antworten

6

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%     
Nuwan 25.08.2013, 13:50
quelle
6

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%     
phil soady 25.08.2013 14:25
quelle