SQL Express 连接字符串:指定相对于应用程序的 MDF 文件位置
在 C# 单元测试中使用 SQL Express 数据库时,可以是不方便在连接字符串中指定 MDF 文件的绝对文件路径。相反,您可能更喜欢使用相对路径或变量。
.NET Core Web 应用程序:
在使用 .NET Core 的 Web 应用程序中,您可以利用 DataDirectory变量来动态引用应用程序的数据目录。默认情况下,此目录通常位于 wwwrootApp_Data。您可以在 appsettings.json 中配置连接字符串,如下所示:
{ "ConnectionStrings": { "MyConnectionString": "Server=.\SQLExpress;AttachDbFilename=|DataDirectory|\MyDatabase.mdf;Database=MyDatabaseForTesting;Trusted_Connection=Yes" } }
.NET Core 桌面应用程序:
对于 .NET Core 中的桌面应用程序,DataDirectory不支持变量。相反,您可以在单元测试装置或设置方法中设置 DataDirectory 属性:
[TestInitialize] public void TestInitialize() { AppDomain.CurrentDomain.SetData("DataDirectory", System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Databases")); // Rest of initialization logic }
使用此设置,您可以使用 DataDirectory 变量在 appsettings.json 中指定连接字符串:
{ "ConnectionStrings": { "MyConnectionString": "Server=.\SQLExpress;AttachDbFilename=|DataDirectory|\MyDatabase.mdf;Database=MyDatabaseForTesting;Trusted_Connection=Yes" } }
在这两种情况下,请确保数据库目录包含在项目中,并且它包含必要的 MDF 文件。
以上是如何在 .NET 应用程序中指定 SQL Express MDF 文件的相对位置?的详细内容。更多信息请关注PHP中文网其他相关文章!