3

私は新しい ASP.NET プロジェクトを開始しています。 Stackoverflow に関する複数の質問で言及されているマルチプロジェクト アプローチに従おうとしています。

プレゼンテーション層の Web.config ファイルに接続文字列を配置することで、接続文字列 (と思います) を正常に設定することができました。

<add name="MyDbContext" connectionString="Data Source=|DataDirectory|MyDb.sdf" providerName="System.Data.SqlServerCe.4.0"/>

ただし、BLL から次のコードを実行すると、DB は作成されません。

using (var db = new MyDbContext())
{
    db.MyEntities.Add(new MyEntity()
    {
        EntityName = "Entity 1"
    });
    db.SaveChanges();
}

まず、実際の sdf ファイルはどこに作成されるのでしょうか。私は私のDALプロジェクトで想定しています。次に、これを適切に機能させるために実行する必要がある追加の構成はありますか? チュートリアルへのリンクはすばらしいでしょう。

このチュートリアルに従ってみましたが、私の DAL プロジェクトには、操作できる Global.asax ファイルがありません。

4

2 に答える 2

2

実際の sdf ファイルはどこに作成されますか?

プレゼンテーション層で作成されます。そこにApp_Dataサブフォルダーがあることを確認してください。それが、私が最初に試したときに私を悩ませたものです。また、ソリューション エクスプローラーでオンにするかShow all files、Windows エクスプローラーを開いて App_Data サブフォルダーを開き、そこに表示されることを確認してください。

しかし、私の DAL プロジェクトには、遊んで遊べる Global.asax ファイルがありません。

Global.asax は、DAL ではなく、プレゼンテーション層に存在します。あなたが言及したチュートリアルの問題は、1 つのプロジェクトしか使用しないことです。現実の世界では、これを複数のプロジェクト (典型的な 1 つの ASP.NET (MVC) プロジェクトと複数のクラス ライブラリ テンプレート ベースのプロジェクト) に広げる可能性があります。これにより、物事が正しいプロジェクトに配置されます。

于 2012-08-30T14:47:50.317 に答える
1
  1. |DataDirectory|~/App_Data/Webプロジェクトで評価されるマクロです。したがって、で.sdfファイルを探しますpath/to/your/project/App_Data/MyDb.sdf
  2. App.configで追加した他の設定をWeb.configにコピーする必要があります。
于 2012-08-30T14:46:24.103 に答える