7

我尝试将实体框架添加到控制台应用程序:我按“添加新项目”并 在此处输入图像描述

然后 在此处输入图像描述

然后

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

然后我添加了代码:

    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(构建或调试您的应用程序)时,该文件都会被项目中的空文件替换。

更改Copy to Output Directorymdf 文件的“属性”窗口应该可以解决您的问题。

如果您使用Copy if newer,您将保留对数据库内容的任何修改,直到您编辑数据库 (mdf) 本身。

Do not copymdf 文件的任何更改都不会反映在您的应用程序上,并且可能会产生 EF 问题。

对于这种情况,我建议Copy if newer您在 mdf 文件中使用并填写基本数据,这样您就可以始终使用它。

于 2012-11-14T19:11:38.697 回答