如何在 C# .NET 3.5 中对 DataTable 执行 LINQ 查询?
大家好!我是一名初学 C# 的开发者,使用 .NET Framework 3.5。我有一个从数据库填充的 DataTable。我需要根据条件过滤行并获取对象列表。例如,有一个 Employees 表,包含 ID、Name、Department、Salary 列。我想选择所有来自“IT”部门且工资高于 50000 的员工。
我尝试这样写:
DataTable dt = GetEmployeesDataTable();
var result = from row in dt.Rows
where row["Department"] == "IT" && (int)row["Salary"] > 50000
select row;
但遇到编译错误:“无法为源类型 'DataRowCollection' 找到查询模式的实现。未找到 'Where'。” 我明白 DataTable.Rows 不是一个支持 LINQ 的集合。如何正确编写查询?是否需要将 DataTable 转换为其他类型?