【发布时间】:2016-03-07 07:26:10
【问题描述】:
我在 DataTable 上使用 Linq 时遇到了一些错误,我不知道如何解决它。我不得不承认我对 Linq 很陌生,我搜索了论坛和互联网,但无法弄清楚。希望你能帮忙。
我有一个名为 campaign 的 DataTable,它包含三列:ID (int)、Product (string)、Channel (string)。 DataTable 已经填充了数据。我正在尝试选择满足最终用户选择的条件的活动记录子集。例如,仅当产品是“EWH”或“HEC”时,用户才想列出。选择标准由最终用户动态确定。
我有以下 C# 代码:
private void btnClick()
{
IEnumerable<DataRow> query =
from zz in campaign.AsEnumerable()
orderby zz.Field<string>("ID")
select zz;
string whereClause = "zz.Field<string>(\"Product\") in ('EWH','HEC')";
query = query.Where(whereClause);
DataTable sublist = query.CopyToDataTable<DataRow>();
}
但它给我一个在线错误:query = query.Where(whereClause),说
“DataRow”类型中不存在属性或字段“zz”。
如果我改为:
string whereClause = "Product in ('EWH','HEC')"; 它会说:
“DataRow”类型中不存在“产品”属性或字段
谁能帮我解决这个问题?我觉得这可能是一个非常简单的语法更改,但我现在不知道。
【问题讨论】: