我只想用linq更新记录。这是我想要的查询:
using (DataClassesDataContext db = new DataClassesDataContext())
{
var query = db.Surrenders.Where(s => s.Id.Equals(int.Parse(query_id.Value.ToString()))).Select(s => s).ToList();
foreach (var item in query)
{
if (item != null)
{
item.IsRead = false;
db.SubmitChanges();
break;
}
}
}
但这不起作用。
好吧,我发现了一些有用的东西,表明“LINQ仅用于查询”而不是用于提升。
如何使用db.SubmitChanges();
进行更改?
答案 0 :(得分:2)
您正在发出break
关键字,它允许您退出循环,因此只进行一次迭代。此外,您可以将SubmitChanges()
移出循环,因此只调用一次,而不是每次迭代调用一次。
删除它,以便您的代码段如下所示:
using (DataClassesDataContext db = new DataClassesDataContext())
{
var query = db.Surrenders.Where(s => s.Id.Equals(int.Parse(query_id.Value.ToString()))).Select(s => s).ToList();
foreach (var item in query)
{
if (item != null)
{
item.IsRead = false;
}
}
db.SubmitChanges();
}