Heim >Datenbank >MySQL-Tutorial >Wie kann ich einen relativen Pfad für eine SQL Express-Verbindungszeichenfolge in meinem Unit-Test-Projekt verwenden?

Wie kann ich einen relativen Pfad für eine SQL Express-Verbindungszeichenfolge in meinem Unit-Test-Projekt verwenden?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-01-11 10:52:43252Durchsuche

How Can I Use a Relative Path for a SQL Express Connection String in My Unit Test Project?

Relativer Pfad für SQL Express-Verbindungszeichenfolge im Unit-Test-Projekt

In Ihrer Frage fragen Sie nach der Verwendung eines relativen Pfads oder einer Variablen im app.config-Datei für eine SQL Express-Datenbankverbindungszeichenfolge. Sie haben einen absoluten Pfad verwendet, um den Speicherort der MDF-Datei anzugeben, suchen aber nach einem flexibleren Ansatz.

Um dies zu erreichen, können Sie tatsächlich das |DataDirectory| verwenden Platzhalter in der Verbindungszeichenfolge. Allerdings liegen Sie mit Ihrer Annahme, dass dies nur auf Webanwendungen anwendbar ist, falsch. |Datenverzeichnis| ist eine spezielle Variable, die auf das Verzeichnis verweist, in dem sich die ausführbare Assembly für die Anwendung befindet. Dies ist eine bequeme Möglichkeit, auf einen bestimmten Speicherort zu verweisen, ohne einen absoluten Pfad angeben zu müssen.

Um dies zu implementieren, können Sie die Verbindungszeichenfolge in Ihrer app.config-Datei wie folgt ändern:

<add name="MyConnectionString"
    connectionString="Server=.\SQLExpress;AttachDbFilename=|DataDirectory|\MyUnitTestDB.mdf;Database=MyDatabaseForTesting;Trusted_Connection=Yes;" />

Dadurch wird die Anwendung angewiesen, die MDF-Datei im selben Verzeichnis wie die ausführbare Assembly zu finden.

So legen Sie das |DataDirectory| fest Eigenschaft können Sie den folgenden Code in Ihrer Unit-Test-Klasse verwenden:

[TestInitialize]
public void TestInitialize()
{
    AppDomain.CurrentDomain.SetData("DataDirectory", System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Databases"));
    
    // Rest of initialize implementation ...
}

Diese Zeile legt das |DataDirectory| fest -Eigenschaft in das angegebene Verzeichnis, in dem sich Ihre MDF-Datei befindet. Mit diesem Ansatz können Sie eine relative Verbindungszeichenfolge verwalten, die unabhängig vom Speicherort der Anwendung funktioniert.

Das obige ist der detaillierte Inhalt vonWie kann ich einen relativen Pfad für eine SQL Express-Verbindungszeichenfolge in meinem Unit-Test-Projekt verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn