如何使用LINQ C#更新数据表中的datarow?

问题描述 投票:-1回答:1

我想在某些条件下更新datatable(dtTaskandBugs)。 当id(这是Datatable的一列)作为参数传递给function GetStoryid时,想要更新数据表中所有行的storyid。这是我的代码下面它没有工作(没有发生)

  dtTaskandBugs.Select(string.Format("Storyid = '{0}'", dtTaskandBugs.Rows)).ToList<DataRow>().ForEach(
                r =>
                {
                    r["Storyid"] = GetStoryid(r["Id"]);
                });
c# linq datatable datarow
1个回答
1
投票

错误在这里:

string.Format("Storyid = '{0}'", dtTaskandBugs.Rows)

您将此表中的行数作为参数传递给过滤行的DataTable.Select,因此可能不会返回任何行。

我建议一个简单的foreach循环,因为你想要更新所有行:

foreach(DataRow row in dtTaskandBugs.Rows)
      row ["Storyid"] = GetStoryid(row["Id"]);
© www.soinside.com 2019 - 2024. All rights reserved.