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

时间:2014-08-10 05:06:58

标签: c# linq datatable .net-3.5

我有一个数据表,其中一列有0/1值。我需要使用Linq(C#)将所有1改为'是',将所有0改为'否'。

3 个答案:

答案 0 :(得分:4)

LINQ是语言集成查询。它的目的是查询数据,而不是更改数据。因此,对于此任务,您应该使用简单的循环:

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

答案 1 :(得分:1)

使用linq投影:

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

答案 2 :(得分:-2)

“数据表”是什么意思? ADO .net DataTable对象或数据库中的实际表?

如果它意味着数据库中的实际表,那​​么你用什么来加载它,比如Entity Framework或Linq to SQL或者存储的procudures?