C#-SaveChanges()不会更新数据库

时间:2018-12-22 21:34:26

标签: c# entity-framework

我尝试了在Stackoverflow上找到的许多解决方案,但是没有一个起作用。我有一个与EF Designer链接的本地数据库。

我正在使用Entity Framework创建行并将其存储到数据库中。由于database.SaveChanges();返回1(而不是零),因此它起作用。然后,我遍历数据库行,可以看到数据保存得很好。

尽管如此,当我关闭控制台应用程序并刷新数据库时,找不到我刚刚添加的值和生成的行。

几个小时以来一直在研究这个问题,浏览了Internet,但是没有一个答案对我有帮助。

我已经尝试过database.User.Attach()EntityState.Modified,但是它们没有用。

我什至试图将代码移到另一个类中,但是没有用。

public static void AddClient(String firstName, String lastName, int phoneNumber, String email, String wishlist)
{
    using (DatabaseEntity database = new DatabaseEntity())
    {
        database.User.Add(new User() {
                First_Name = firstName,
                Last_Name = lastName,
                Phone_Number = phoneNumber,
                Email = email,
                Wishlist = wishlist
            });

        database.SaveChanges();
    }
}

我希望关闭应用程序后将数据保存在数据库中,但事实并非如此。

1 个答案:

答案 0 :(得分:0)

我找到了解决方法。

当Visual Studio使用本地数据库时,在每次调试时,它都会复制数据库并在复制的副本上工作。

因此,我不得不在目标为my_project_path/bin/debug/database.mdf的服务器浏览器中添加新连接

然后,我必须编辑其属性之一,即Copy to Output Directory。现在它的新值是Copy if Newer,现在我的数据已经很好地保存在数据库中了。