实体框架 SaveChanges 不保存数据

Posted

技术标签:

【中文标题】实体框架 SaveChanges 不保存数据【英文标题】:Entity Framework SaveChanges does not save data 【发布时间】:2012-05-27 08:37:48 【问题描述】:
using (var db = new dbEntities())

    var dbUser = (from u in db.Users
                  where u.Id == Id
                  select u).First();

    dbUser.LastName = LastName;
    dbUser.FirstName = FirstName;
    dbUser.GroupId  = GroupId;
    dbUser.VoicesCount = VoicesCount;

    db.SaveChanges();
 

这不会保存对数据库的任何更改。但也不例外。为什么?

UPD:好的,我也为 SQL Server CE 尝试过,没有任何变化。它不会保存更改的数据。

【问题讨论】:

您是否尝试过使用分析器并查看是否在 savechanges 上执行了实际查询? 很难做到。我使用 sqllite。 @marc_s 它已更改。我在谷歌上搜索了这个问题并注意到用户在使用 SQL CE 和 EF 时遇到了问题。我尝试连接到 SQL SERVER,它运行良好。所以问题出在 sql ce 提供程序或其他方面。这不是代码问题。 【参考方案1】:

在您的 bin/debug 文件夹中查找数据库的副本,它将包含更改的数据,因为您正在将数据库包含在您的应用程序中

【讨论】:

我希望我可以两次投票给你。我很担心为什么在我再次加载应用程序后它没有得到记录。

以上是关于实体框架 SaveChanges 不保存数据的主要内容,如果未能解决你的问题,请参考以下文章

如何使用实体框架从 DataGrid 更新数据库

C#实体框架:添加/插入记录并选择他而不保存更改[重复]

PUT 方法不保存两个实体对象

ObjectContext.SaveChanges()失败,SQL CE

实体框架不包括插入查询中具有默认值的列

嵌套事务 DbContext SaveChanges 引发异常