c# - 更新 IQueryable 对象中的值

标签 c# .net linq linq-to-sql

我有一个 IQueryable 对象,我想手动更新一些值,但是在执行循环后更改没有反射(reflect)出来:

 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();

关于c# - 更新 IQueryable 对象中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13394851/

相关文章:

c# - WPF UI 仅在调试时崩溃

javascript - 将对象从 JavaScript 传递到 C#

linq - .NET 3.5 表达式树中的赋值

c# - 通过匿名传递列名对通用列表的一列求和

c# - 三个网站之间的 ASP.NET 重定向

c# - WCF with Unity,通过代码配置依赖

c# - ITextSharp 整页高度布局

c# - .NET 中是否有独立于 UI 的 Point 结构?

c# - 了解 C# 中的延迟加载优化

c# - 使用 ConfigurationManager 从 App.config 读取嵌套值