C# Linq更新多个列
这是我第一次看到这种编码风格C# Linq更新多个列,c#,linq,C#,Linq,这是我第一次看到这种编码风格(我承认) 正如我正确理解的代码,它将只更新1列right 问题:如何使用craig代码更新多个列?。假设有两列或更多列 我在c#中更新列的方式如下 var qry = (from a in db.Table where a.Id == paramId select a).ToList(); foreach (var item in qry) { item.Name = "John"
(我承认)
正如我正确理解的代码,它将只更新1列right
问题:如何使用craig代码更新多个列?。假设有两列或更多列
我在c#
中更新列的方式如下
var qry = (from a in db.Table
where a.Id == paramId
select a).ToList();
foreach (var item in qry) {
item.Name = "John";
item.LastName = "Dela Cruz";
. . . .
db.SaveChanges();
}
这不是一个LINQ问题。相反,这是一个委托/lambda问题 只需在
ForEach
(x) =>
{
x.Name = "John";
x.LastName = "Dela Cruz";
. . . .
db.SaveChanges();
}
注意打开/关闭的花括号。查看ekads,回答关于更新1条记录的相同问题,并使用它。除非您使用相同的id存储多个条目,否则请使用ekads answer,因为它非常有用clearer@CodingYoshi他的方式就像我目前的编码方式一样?不,他说你不需要循环,他是对的。您希望有多少条记录?@CodingYoshi仅举5条记录为例。如果您有多条记录,请使用下面的qxg答案。我在前面都有一个错误。
x
表示名称
x`在当前上下文中不存在'。即使我在任何字母中更改它,我也会遇到相同的错误。请检查@qxg我认为保存的更改应该在循环之外,这样它就可以在一次行程中完成整个更新。@CodingYoshi和qxg。谢谢你,伙计。。救生员:)+1。只是一个小问题。它将在单向行程中循环所有数据(例如5条记录)?@Kira,不确定它是否回答了您的问题:是的,如果您将db.SaveChanges()放在循环之外,它将创建一个对数据库的调用。
(x) =>
{
x.Name = "John";
x.LastName = "Dela Cruz";
. . . .
db.SaveChanges();
}