Avatar ·

如何在 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 转换为其他类型?