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