当Select
等于r.Field<bool>("isDefault") != false
时,我想在DetailNo
查询中使用ZZZZZ
添加条件,我可以使用{r.Field<string>("Code")
获取所有代码Distinct
{1}}。
例如:
Code | DetailNo | isDefault Code | DetailNo | isDefault
IP6 | ZZZZZ | true IP6 | AAAAA | false
IP7 | ZZZZZ | true IP7 | AAAAA | false
IP7 | ZZZZZ | true | AAAAA | false
IP8 | ZZZZZ | false IP8 | AAAAA | true
IP7 | ZZZZZ | true IP7 | AAAAA | false
IP6 | ZZZZZ | true IP6 | AAAAA | false
IP8 | ZZZZZ | false IP8 | AAAAA | true
结果必须是:
Code | DetailNo | isDefault Code | DetailNo | isDefault
IP6 | ZZZZZ | true IP6 | AAAAA | false
IP7 | ZZZZZ | true IP7 | AAAAA | false
IP8 | AAAAA | true
int countItem = dt
.AsEnumerable()
.Where(r => r.Field<string>("Code") != "")
.Select(r => r.Field<string>("DetailNo") == "ZZZZZ" ? r.Field<string>("Code") : r.Field<string>("Code") + r.Field<int>("TotalID"))
.Distinct()
.Count();
答案 0 :(得分:1)
变化:
Where(r => r.Field<string>("Code") != "")
对此:
Where(r => r.Field<string>("Code") != "" && (r.Field<string>("Code") != "ZZZZ" || r.Field<bool>("isDefault"))))
所以,你过滤的代码不是空的(代码等于ZZZZ或IsDefault是真的。