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

Entity Frameworkを使用していますか?context.SaveChangesの呼び出しが欠落していると思います。EntityFrameworkでは、変更はすべてメモリ内にあり、SaveChangesを呼び出すまでデータベースに書き込まれません。

于 2012-04-22T22:18:27.083 に答える