【发布时间】:2014-10-03 05:51:28
【问题描述】:
我有一个数据表,其中一列具有 0/1 值。我需要使用 Linq (C#) 将所有 1 更改为“是”,将所有 0 更改为“否”。
【问题讨论】:
标签: c# linq datatable .net-3.5
我有一个数据表,其中一列具有 0/1 值。我需要使用 Linq (C#) 将所有 1 更改为“是”,将所有 0 更改为“否”。
【问题讨论】:
标签: c# linq datatable .net-3.5
LINQ 是语言集成的查询。它的目的是查询数据,而不是更改数据。所以,对于这个任务,你应该使用简单的循环:
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 DataTable 对象或数据库中的实际表?
如果它表示数据库中的实际表,那么您使用什么来加载它,例如 Entity Framework 或 Linq to SQL 或存储过程?
【讨论】: