首页 >后端开发 >C++ >如何在 .NET 应用程序中指定 SQL Express MDF 文件的相对位置?

如何在 .NET 应用程序中指定 SQL Express MDF 文件的相对位置?

Patricia Arquette
Patricia Arquette原创
2024-12-28 14:34:18635浏览

How to Specify SQL Express MDF File Location Relatively in .NET Applications?

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn