7

コンソールアプリケーションにentity-frameworkを追加しようとしています。[新しいアイテムを追加]を押して、 ここに画像の説明を入力してください

それから ここに画像の説明を入力してください

それから

ここに画像の説明を入力してください

ここに画像の説明を入力してください

ここに画像の説明を入力してください

ここに画像の説明を入力してください

次に、コードを追加しました。

    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                Database1Entities db = new Database1Entities();
                db.AddToTableTest(new TableTest { name = "name" });
                db.SaveChanges();

                int count = db.TableTest.Count();
                int ui = 9 + 0;
            }
            catch (Exception e)
            {

            }
        }
    }

エラーは発生しませんが、データベースに変更はありません。私はここで問題をよりよく説明しました

4

1 に答える 1

3

EFモデルをセットアップするために行ったのと同じ手順を実行しました。database.mdfファイルの設定はにCopy to Output Directory設定されています。Copy alwaysつまり、F5(アプリのビルドまたはデバッグ)を押すたびに、ファイルはプロジェクト上の空のファイルに置き換えられます。

mdfファイルの[プロパティ]ウィンドウでを変更するCopy to Output Directoryと、問題が解決するはずです。

使用するCopy if newer場合は、データベース(mdf)自体を編集するまで、データベースの内容に対する変更を永続化することになります。

Do not copymdfファイルを変更しても、アプリケーションには反映されず、EFで問題が発生する可能性があります。

このシナリオではCopy if newer、基本データを使用してmdfファイルに入力し、いつでも利用できるようにすることをお勧めします。

于 2012-11-14T19:11:38.697 に答える