3

http://msdn.microsoft.com/en-us/data/jj591506にあるチュートリアルを使用して、エンティティ フレームワークについて独学しています。以下のコードで作業しています。

using (var db = new DatabaseEntities())
{
        var section = new Section
        {
            SectionID = 1,
            SectionName = "Bob"
        };
        db.Sections.Add(section);
        db.SaveChanges();
}

何らかの理由で、このコードがデータベースに書き込まれていません。エラーはスローされていません。私が何を見ることができるか、または何が原因である可能性があるかについてのアイデアはありますか? これは、上記のリンク先の MSDN ページにある例のほぼ正確なコピーです。

この問題は、この質問で起こっていることと非常によく似ています。残念ながら、この質問に回答した人は、問題をどのように解決したかを説明していません。彼らは、データベースに渡される SQL をチェックしたと説明しました。いくつかの調査の結果、プロジェクト内にデータベースのコピーがあり、再構築されたときに出力内のデータベースのコピーを上書きしていたことが判明しました。 . 私の問題は、これを止める方法がわからないことです。手伝ってくれますか?

私も見ました:

4

1 に答える 1

3

そのため、残念ながら新しいプロジェクトを作成するという上記のアドバイスを受けてしまい、うまくいきませんでした。10時間後にグーグルで調べたところ、解決策が見つかりました。データベースが再構築されている疑いがあります。

データベースが再構築されないようにするには、ソリューション エクスプローラーでデータベースを右クリックし、プロパティに移動します。プロパティの下でプロパティを見つけてCopy to output directory、値を に変更しますDo not copy

データベースが出力ディレクトリになかったため、これは実際に私のコードを壊しました。プログラムを再び動作させるには、データベースのコピーをデバッグ ディレクトリに手動で配置する必要がありました。私のプロジェクトのために。Windows 8 と Visual Studio 2012 では、これは次の場所にありました。

%UserProfile%\Documents\Visual Studio 2012\Projects\PROJECTNAME\PROJECTNAME\bin\Debug

これにより、他の人が何時間もインターネットを検索しなくても済むことを願っています.

于 2012-12-30T22:21:22.730 に答える