c# – 更新IQueryable对象中的值

我有一个IQueryable对象,我想手动更新一些值,但执行循环后不会反映更改:

 IQueryable<myModel> items;
 items = GetItems();   

 foreach (myModel row in items)
 {
        row.field10 = "new value";
 }

 objDataContext.SubmitChanges();

我究竟做错了什么?

最佳答案 GetItems()方法是否使用完全相同的objDataContext实例来从数据库中获取项目?它必须使用相同的ObjectContext来跟踪更改.另一种选择是使用ToList()方法:

List<myModel> items = GetItems().ToList();
点赞