Jer*_*pez 5 .net c# linq linq-to-sql
我有一个IQueryable对象,我想手动更新一些值,但是执行循环后,更改不会反映出来:
IQueryable<myModel> items;
items = GetItems();
foreach (myModel row in items)
{
row.field10 = "new value";
}
objDataContext.SubmitChanges();
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
方法是否GetItems()使用完全相同的实例objDataContext从数据库获取项目?它必须使用相同的方法ObjectContext来跟踪更改。另一种选择是使用以下ToList()方法:
List<myModel> items = GetItems().ToList();
Run Code Online (Sandbox Code Playgroud)