Heim >Backend-Entwicklung >C++ >Wie kann ich einen relativen Pfad für meine SQL Express MDF-Datei in der app.config-Verbindungszeichenfolge verwenden?
Problem:
Ein Entwickler hat Schwierigkeiten, den anzugeben Speicherort einer SQL Express MDF-Datei relativ zum Anwendungsverzeichnis in der Datei app.config. Sie möchten vermeiden, den absoluten Pfad manuell zu definieren, was umständlich wird, wenn die Anwendung an verschiedenen Standorten bereitgestellt wird.
Lösung:
1. Verwenden Sie |DataDirectory|:
|DataDirectory| ist nicht ausschließlich für Webanwendungen gedacht. Es kann sowohl in Web- als auch in Desktop-Anwendungen verwendet werden. Es stellt das Verzeichnis dar, in dem die Anwendung Datendateien erwartet.
2. Legen Sie |DataDirectory| fest Programmgesteuert:
Wenn |DataDirectory| nicht automatisch von der Anwendung festgelegt wird, können Sie es programmgesteuert mithilfe von AppDomain.CurrentDomain.SetData("DataDirectory", Pfad) festlegen
Beispielkonfiguration:
In der App .config-Datei:
<add name="MyConnectionString" connectionString="Server=.\SQLExpress;AttachDbFilename=|DataDirectory|\MyDatabase.mdf;Database=MyDatabaseForTesting;Trusted_Connection=Yes;" />
In der Unit-Test-Initialisierung Methode:
[TestInitialize] public void TestInitialize() { AppDomain.CurrentDomain.SetData("DataDirectory", System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Databases")); }
Durch diesen Ansatz verwendet die Verbindungszeichenfolge nun automatisch den Pfad zur MDF-Datei relativ zum Anwendungsverzeichnis, selbst in einer Unit-Test-Umgebung.
Das obige ist der detaillierte Inhalt vonWie kann ich einen relativen Pfad für meine SQL Express MDF-Datei in der app.config-Verbindungszeichenfolge verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!