如果我有一个具有columns with suffix "_"
相同数据类型int的数据表。
如何1
通过LINQ获得所有这些列等于某个值的数据。
前任 :
emp_num day_ penalty_ role_ abscence
23 12 1 2 true
24 1 1 1 true
76 2 5 1 false
55 1 1 1 false
我想得到这样的结果:
24 1 1 1 true
55 1 1 1 false
因为数据表的列数是可变的,所以我希望以某种通用方式在这些列上进行投影,如下所示:
DT.AsEnumerable().Where(all columns with suffix "-" = 1)
干得好:
var columns = DT.Columns.Cast<DataColumn>()
.Where(c => c.DataType == typeof(int) && c.ColumnName.EndsWith("_"))
.ToList();
var query = DT.AsEnumerable().Where(row => columns.All(c => row.Field<int>(c) == 1));
columns
强烈不需要该变量。ToList
可以删除该调用,并且可以将列查询嵌入行查询中,但是为了提高效率,最好像上面的代码片段一样,预先将其提取到列表中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句