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

时间:2018-02-28 10:04:44

标签: c# linq datatable datarow

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

  dtTaskandBugs.Select(string.Format("Storyid = '{0}'", dtTaskandBugs.Rows)).ToList<DataRow>().ForEach(
                r =>
                {
                    r["Storyid"] = GetStoryid(r["Id"]);
                });

1 个答案:

答案 0 :(得分:1)

错误在于:

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

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

我建议使用简单的foreach循环,因为您要更新所有行:

foreach(DataRow row in dtTaskandBugs.Rows)
      row ["Storyid"] = GetStoryid(row["Id"]);