0

現在、Entity FrameworkのCreateDatabase()メソッドを使用して動的データベースを作成しています。正常に実行され、次のパスにデータベースが作成されます: "c:\ Program Files \ Microsoft SQL Server \ MSSQL10.SQLEXPRESS \ MSSQL \ DATA" しかし、アプリケーションのディレクトリにデータベースを作成したいと思います。これを行う方法?私を助けてください。

4

1 に答える 1

1

通常、すべてのデータベースは、SQL Server で構成された既定のパスに作成されます。SQL Server Express を使用していて、データ フォルダーに作成するデータベースを指定する接続文字列を定義する場合にのみ、アプリケーション フォルダーが使用されます。SQL Server Express でのみ機能します。接続文字列の内部が次のようになっていることを確認します。

Server=.\SQLExpress;AttachDbFilename=|DataDirectory|\YourDbFile.mdf;Database=YourDbName; Integrated Security=SSPI;

|DataDirectory|データディレクトリへのパスに置き換えられる場所のプレースホルダー。Web アプリケーションの場合は App_Data にする必要があり、スタンドアロン アプリケーションの場合はアプリケーションのフォルダーにする必要があります。また、接続文字列で任意のパスを直接使用したり、次を使用してコードから DataDirectory の解決を制御したりすることもできます。

AppDomain.CurrentDomain.SetData("DataDirectory", YourPath);
于 2012-04-07T16:43:00.680 に答える