Verwenden relativer Pfade zum Herstellen einer Verbindung zu SQL Express-Datenbanken in App.config
Diese Anleitung zeigt, wie Sie Ihre Anwendung mit einer SQL Express-Datenbank verbinden, indem Sie einen relativen Pfad verwenden, der in Ihrer app.config
-Datei definiert ist. Dieser Ansatz bietet Flexibilität, insbesondere beim Wechsel zwischen Test- und Produktionsumgebungen.
Konfigurieren Sie zunächst Ihre Verbindungszeichenfolge in app.config
wie folgt:
<code class="language-xml"><add connectionString="Server=.\SQLExpress;AttachDbFilename=|DataDirectory|\MyUnitTestDB.mdf;Database=MyUnitTestDBForTesting;Trusted_Connection=Yes;" name="MyConnectionString" /></code>
Das entscheidende Element hier ist |DataDirectory|
. Dieser Platzhalter stellt das Basisverzeichnis der Anwendung dar – den Speicherort Ihrer ausführbaren Datei.
Als nächstes legen Sie innerhalb der Initialisierungsmethode Ihrer Unit-Test-Klasse (z. B. TestInitialize
) die Eigenschaft DataDirectory
dynamisch fest:
<code class="language-csharp">[TestInitialize] public void TestInitialize() { AppDomain.CurrentDomain.SetData("DataDirectory", System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Databases")); // ... rest of your initialization code }</code>
Dieses Code-Snippet legt DataDirectory
auf einen Unterordner „Datenbanken“ im Basisverzeichnis Ihrer Anwendung fest. Dies setzt voraus, dass sich Ihre .mdf
-Datei in diesem Ordner „Datenbanken“ befindet. Passen Sie den Pfad nach Bedarf an den Speicherort Ihrer Datei an.
Diese Methode stellt sicher, dass Ihre Datenbankverbindung über die Konfigurationsdatei verwaltet wird, und ermöglicht einen einfachen Wechsel zwischen Test- und Produktionsdatenbanken, indem Sie einfach die app.config
-Datei oder den Pfad in Ihrer Initialisierungsmethode ändern.
Das obige ist der detaillierte Inhalt vonWie stelle ich über einen relativen Pfad in der App.config eine Verbindung zu einer SQL Express-Datenbank her?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!