Vermeiden Sie App.config-Datei in Projekt, wenn es mit SQLite / SubSonic (oder eine beliebige andere Datenbank) unter Verwendung von
-
06-07-2019 - |
Frage
Ich habe ein Projekt, das ich mit SQLite und SubSonic 3. Ich möchte wissen, entwickle, dass, wie kann ich die Datei App.config ganz zu vermeiden. Wie erkläre ich mein Programm SQLite Data Provider zu verwenden. Ich meine, wie kann ich es sagen soll:
<DbProviderFactories>
<add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite">
</DbProviderFactories>
kann ich auch eine Verbindungszeichenfolge von Code hinzufügen:
<add name="xyz" connectionString="Data Source=xyz.db" providerName="System.Data.SQLite"/>
Lösung
Sie können einen Provider manuell erstellen, indem Sie die Verbindungszeichenkette in:
var p = ProviderFactory.GetProvider("connectionstring", "System.Data.SqlClient");
Dann können Sie diese Provider verwenden, wenn Sie benötigen. Dies ist ideal für IoC, wo Sie Setup eine Regel für SubSonic des IDataProvider kann:
ForRequestedType< IDataProvider >()
.TheDefault.Is.ConstructedBy(x =>
ProviderFactory.GetProvider("connectionstring", "System.Data.SqlClient"));
Gotta love IoC:)
Andere Tipps
Viele Bibliotheken setzen auf die app.config, so dass Sie früher oder später werden es auf jeden Fall brauchen. Es ist sehr zentral für die gesamte .NET-Plattform. Und was sehen Sie das Problem?
Sie können Ihre eigene Verbindungszeichenfolge leicht zur Verfügung stellen, aber ich bin nicht so sicher über einen bestimmten ADO.NET-Provider in Code Laden .
Es hängt davon ab, wie Sie Ihre SQLite-Provider verwenden, aber wenn es Klassen in Ihrem Code fest einprogrammiert werden dann glaube ich nicht Sie sogar einen DbProviderFactory benötigen.