ホームページ > バックエンド開発 > C++ > .NETアプリケーションでSQL Express MDFファイルの場所を相対的に指定するにはどうすればよいですか?

.NETアプリケーションでSQL Express MDFファイルの場所を相対的に指定するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-28 14:34:18
オリジナル
574 人が閲覧しました

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"
  }
}
ログイン後にコピー
ログイン後にコピー

どちらの場合も、Databases ディレクトリがプロジェクトに含まれており、そこに必要な MDF ファイルが含まれていることを確認してください。

以上が.NETアプリケーションでSQL Express MDFファイルの場所を相対的に指定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート