【发布时间】:2019-03-10 14:41:08
【问题描述】:
我有一个问题。在这里,我想根据 Fields 和 Datafield 的某些条件进行过滤。我该怎么做?
以下是我的 linq 查询: 注意:这段代码可以运行。
DataSet queries = query.GetQueryDetails(reportName);
str = queries.Tables[1].AsEnumerable().Select(dataRow => new Query { CommandText = dataRow.Field<string>("CommandText"), DataSetName = dataRow.Field<string>("DataSetName"), Key = dataRow.Field<int>("Fields"), Value=dataRow.Field<string>("DataField") }).ToList();
我想做这样的事情,但这是不可能的。: 注意:下面的代码不起作用。显示编译错误。
DataSet queries = query.GetQueryDetails(reportName);
str = queries.Tables[1].AsEnumerable().Select(dataRow => new Query { CommandText = dataRow.Field<string>("CommandText"), DataSetName = dataRow.Field<string>("DataSetName"), Key = dataRow.Field<int>("Fields").Where(dataRow.Field<int>(("DictVal") == "Key")), Value=dataRow.Field<string>("DataField").Where(dataRow.Field<string>(("DictVal") == "Value")) }).ToList();
我知道我们不能将 where 条件放在我们想要的任何地方。但我想根据条件选择 Fields 和 DataField 列。 谁能帮帮我吗?可能吗?
仅供参考:
public partial class Query
{
public string DataSetName { get; set; }
public string CommandText { get; set; }
public int Key { get; set; }
public string Value { get; set; }
}
注意: CommandText、DataSetName、Fields 和 DictVal 是表格的列。
【问题讨论】:
-
我知道不可能将这样的条件放在哪里或放在选择条件中。但我愿意接受任何形式的建议或帮助。
-
工作的代码和不工作的代码一模一样,你是不是复制粘贴出错了?
-
对不起!你现在可以检查一下吗?