假设我的数据表中填充了数据。在填充完数据后,我们可以再用linq在datatable上设置一些条件来提取数据。
假设我的数据表有10个雇员记录。因此,我们可以只提取那些工资大于5000的员工使用linq查询。我知道我们可以实现datatable.select()
。如何使用linq
实现这一点?
您可以获得一组经过过滤的行,是:
var query = table.AsEnumerable()
.Where(row => row.Field<decimal>("salary") > 5000m);
在DataTableExtensions
和DataRowExtensions
中分别使用AsEnumerable
和Field
扩展方法。
试试这个:
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"),
});