使用Linq有条件地更改数据表列的值

本文关键字:数据表 Linq 有条件 使用 | 更新日期: 2023-09-27 18:17:13

我有一个数据表,其中一列的值为0/1。我需要使用Linq (c#)将所有的1更改为"Yes",所有的0更改为"No"。

使用Linq有条件地更改数据表列的值

LINQ is Language-Integrated Query。它的目的是查询数据,而不是更改数据。因此,对于这个任务,您应该使用简单的loop:

foreach(DataRow row in table.Rows)
{
   string value = row.Field<string>("foo") == "0" ? "No" : "Yes";
   row.SetField("foo", value);
}

使用linq投影:

var results = from p in myDataTable.AsEnumerable()
              select new{ yesno = p.Field<int>("yesno") == 1 ? "Yes" : "No", otherField = p.Field<string>("otherField")};

你说的"数据表"是什么意思?ADO .net数据表对象还是数据库中的实际表?

如果它意味着数据库中的实际表,那么你使用什么来加载它,像实体框架或Linq到SQL或存储过程?