我有一个包含两列的数据表“tblFields”,它的值如下。
FieldId FieldValue
------- ----------
0_Name test0
0_Amount 100
1_Name test1
1_Amount 100
2_Name test2
2_Amount 200
3_Name test3
3_Amount 0.00
4_Name test4
4_Amount
下面的 linq 为我提供了数据表中所有不以“0_”开头的行。现在我需要在这个集合上应用一个过滤器来获取数量 (_Amount) 不等于 0.00 或为空的唯一行。此外,当 _Amount 等于 0.00 或为空时,它应该排除 _Name 行。
var pairs = from row in tblFields.AsEnumerable()
where !row.Field<string>("FieldId").StartsWith("0_")
select new
{
key = GetId(row.Field<string>("FieldId")),
value = row.Field<string>("FieldValue")
};
我正在寻找如下输出。是否可以使用 linq 获得此结果?有谁知道实现这一目标的任何其他方法?感谢您的任何想法。
1_Name test1
1_Amount 100
2_Name test2
2_Amount 200