0

我正在使用 ADO.NET 并尝试更新 SQL Server 2008 数据库中表中的列值。但是该值没有更新。即使当我在 C# 代码中调试它时它是更新的。这是我的代码:

using (ADONETClass context = new ADONETClass())
{
   List<Invoices> list = context.Invoices.ToList<Invoices>();
   foreach (Invoices b in list)
   {
      b.status = 0;
   }
}

现在我调试了代码,发现context.Invoices.ToList<Invoices>()[0].status确实设置为零。但是当程序运行完毕后,我打开 SQL Server Management Studio 并且状态值仍然是 0。不知道发生了什么?我错过了什么吗?

谢谢

瓦伦

4

2 回答 2

2

你在调用 context.SaveChanges() 吗?

于 2012-04-22T22:16:07.943 回答
1

你在使用实体框架吗?我认为您缺少对 context.SaveChanges 的调用 在 EntityFramework 中,更改都只是在内存中,并且在您调用 SaveChanges 之前不会写入数据库

于 2012-04-22T22:18:27.083 回答