假设我的数据表充满了数据。 填充数据后,我们可以再次使用linq在数据表上添加一些条件来提取数据。
假设我的数据表有10个员工记录。
因此,我们可以使用linq查询仅提取薪水大于5000的员工。
我知道我们可以实现它datatable.select()
。如何使用linq
实现此目的?
答案 0 :(得分:13)
您可以获得一组经过滤的行,是:
var query = table.AsEnumerable()
.Where(row => row.Field<decimal>("salary") > 5000m);
分别使用DataTableExtensions
和DataRowExtensions
中的AsEnumerable
和Field
扩展方法。
答案 1 :(得分:2)
试试这个:
var query = (from t0 in dtDataTable.AsEnumerable()
where t0.Field<string>("FieldName") == Filter
select new
{
FieldName = t0.Field<string>("FieldName"),
FieldName2 = t0.Field<string>("FieldName2"),
});