linq 批量修改不成功为什么

yongchaochu 2011-10-19 03:36:32
var query=from s in db.student where s.classID=="" select s;
foreach(var q in query)
{
//var info=db.student.where(p=>p.id==q.id).first();
//info.classID=1;
q.classID=...
}
db.submitchanges();

像上面这样写 总是更新不成功,如果把注释去掉 那样写就可以成功,为啥呀
...全文
154 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
claymore1114 2011-10-19
  • 打赏
  • 举报
回复
同一个db 实例,能更新。
xuStanly 2011-10-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 q107770540 的回复:]

因为你使用了foreach
foreach内的q是只读的
[/Quote]

正解
不光是q只读,被遍历的对象本身也不能被改变。
q107770540 2011-10-19
  • 打赏
  • 举报
回复
因为你使用了foreach
foreach内的q是只读的

8,497

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 LINQ
社区管理员
  • LINQ
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧