Linq更新了多个列

时间:2017-03-17 06:35:44

标签: c# linq

这是我第一次看到这种编码风格(I admit it)

(from p in Context.person_account_portfolio 
 where p.person_id == personId select p).ToList()
       .ForEach(x => x.is_default = false);
  

我正确理解代码,它只会更新1列吗?

     

问题:如何使用craig代码更新多列?让我们说2列或更多列

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

来自 Craig

的代码

1 个答案:

答案 0 :(得分:3)

这不是LINQ问题。相反,它是委托/ lambda问题。

只需在ForEach

中使用此代码即可
(x) =>
{
    x.Name = "John";
    x.LastName = "Dela Cruz";
    . . . . 
    db.SaveChanges();
}

注意打开/关闭花括号。