我尝试了在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();
}
}
我希望关闭应用程序后将数据保存在数据库中,但事实并非如此。
答案 0 :(得分:0)
我找到了解决方法。
当Visual Studio使用本地数据库时,在每次调试时,它都会复制数据库并在复制的副本上工作。
因此,我不得不在目标为my_project_path/bin/debug/database.mdf
的服务器浏览器中添加新连接
然后,我必须编辑其属性之一,即Copy to Output Directory
。现在它的新值是Copy if Newer
,现在我的数据已经很好地保存在数据库中了。