我正在使用Visual Studio 2012.我在本地数据库(巧妙地命名为Database1)中有一个非常简单的Products表。它有两个字段:id和Name。我预装了一些测试数据。实体框架不会将数据刷新到数据库
以下代码应更新第一个产品的名称。在内部,它的确如此。我可以检索所有产品并查看第一个人的姓名是“衬衫”。但是这个改变永远不会被刷新到数据库。该记录从不更新。检查数据库显示该名称未被更改。
我的问题很简单:为什么更改没有发送到数据库?
using (var context = new Database1Entities())
{
var products = context.Products;
products.First().Name = "Shirt";
context.SaveChanges();
}
在此先感谢。
= = = = = = = = = = = = = = = = - = - = - = = = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - =
编辑:
我尽我所能在这里输入完整的代码和输出。但是,无论我做什么,我都会继续收到“您的帖子似乎包含未正确格式化的代码”错误消息。 30分钟后,我放弃了。
编辑:
代码和输出是在这里:http://pastebin.com/GmQtwAND
您是否确定在上下文中启用了更改跟踪? – dksh
但是你是否在改变任何值?衬衫=衬衫看起来像我一样... – ErikEJ
是的,context.Configuration.AutoDetectChangesEnabled = true。 此外,我预先加载到数据库中的初始值是“Hat”,即使将其设置为“Shirt”后,该值仍保留在数据库中。 –