SQL Express-Verbindungszeichenfolge: Angabe des MDF-Dateispeicherorts relativ zur Anwendung
Bei der Arbeit mit SQL Express-Datenbanken in C#-Komponententests kann dies der Fall sein Es ist unpraktisch, den absoluten Dateipfad zur MDF-Datei in der Verbindungszeichenfolge anzugeben. Stattdessen bevorzugen Sie möglicherweise die Verwendung eines relativen Pfads oder einer relativen Variablen.
.NET Core-Webanwendungen:
In Webanwendungen, die .NET Core verwenden, können Sie das DataDirectory nutzen Variable, um dynamisch auf das Datenverzeichnis der Anwendung zu verweisen. Dieses Verzeichnis befindet sich normalerweise standardmäßig unter wwwrootApp_Data. Sie können die Verbindungszeichenfolge in appsettings.json wie folgt konfigurieren:
{ "ConnectionStrings": { "MyConnectionString": "Server=.\SQLExpress;AttachDbFilename=|DataDirectory|\MyDatabase.mdf;Database=MyDatabaseForTesting;Trusted_Connection=Yes" } }
.NET Core-Desktopanwendungen:
Für Desktopanwendungen in .NET Core das DataDirectory Variable wird nicht unterstützt. Stattdessen können Sie die DataDirectory-Eigenschaft im Unit-Test-Fixture oder in der Setup-Methode festlegen:
[TestInitialize] public void TestInitialize() { AppDomain.CurrentDomain.SetData("DataDirectory", System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Databases")); // Rest of initialization logic }
Mit diesem Setup können Sie die Verbindungszeichenfolge in appsettings.json mithilfe der DataDirectory-Variablen angeben:
{ "ConnectionStrings": { "MyConnectionString": "Server=.\SQLExpress;AttachDbFilename=|DataDirectory|\MyDatabase.mdf;Database=MyDatabaseForTesting;Trusted_Connection=Yes" } }
Stellen Sie in beiden Fällen sicher, dass das Datenbankverzeichnis im Projekt enthalten ist und die erforderliche MDF-Datei enthält.
Das obige ist der detaillierte Inhalt vonWie gibt man den Speicherort der SQL Express MDF-Datei in .NET-Anwendungen relativ an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!