2012-04-13 4 views
0

Ich benutze Entity Framework 4.1 Code zuerst, SQLite und WPF.Wie/Wo mache ich die app.config ConnectionString zur Laufzeit zu überschreiben?

Ich möchte die app.config ConnectionString zu SQLite neu definieren, so dass ich die Datenquelle (Pfad für Sqlite-Datenbank-Datei) zur Laufzeit definieren kann.

Meine Schätzung verwendet den EntityConnectionStringBuilder, um die Verbindungszeichenfolge zu erstellen. Aber ich weiß nicht, was das Ereignis, wo ich baue und die Verbindungszeichenfolge zuweisen, so dass der EF Code First die Änderung erkennt und den neueren ConnectionString im gesamten Code für die Anwendung verwendet (stattdessen die app.config ConnectionString verwenden). Ich stelle mir vor, dass es auf Application_Startup Event platziert werden soll, aber ich weiß nicht, ob dies die beste Praxis ist.

Vielen Dank im Voraus.

Antwort

0

Wenn Sie EF 4.1 CF verwenden, sollten Sie nach der Erstellung der * .edmx-Datei automatisch Ihre app.config erstellen. Sie müssen keine eigene app.config erstellen oder sie ändern, wenn Sie eine bestehende haben.

2

Wenn das, was Sie nach,

Sie die Zeichenfolge zur Laufzeit über DbContext(string) Konstruktor übergeben können - siehe hier für mehr DbContext(string)

Sie auch Ihre Kontextimplementierung nehmen, dass param machen könnten und übergibt es an der base DbContext.

hoffe das hilft

Verwandte Themen