【问题标题】:LINQ Over a Dataset ErrorLINQ 处理数据集错误
【发布时间】:2023-04-02 16:36:01
【问题描述】:

我正在尝试使用以下代码从数据集中检索数据:

    var all_pepole = from rows_of_bank in ds1.Tables[0].Rows select rows_of_bank;
    foreach (System.Data.DataRow row in all_pepole)
    {
        Console.WriteLine("{0} {1} is {2} years old.", row[0].ToString(), row[1].ToString(), row[2].ToString());
    }

但是这段代码会给我带来错误,这是错误:

找不到源类型“System.Data.DataRowCollection”的查询模式的实现。未找到“选择”。考虑明确指定范围变量“rows_of_bank”的类型

【问题讨论】:

标签: c# linq linq-to-sql


【解决方案1】:

ds1.Tables[0].RowsDataRowCollection 类型,它实现了IEnumerable 但不是IEnumerable<DataRow>。大多数 Linq 运算符仅在通用接口上工作。您可以像这样将项目投射到DataRow

var all_pepole = from rows_of_bank in ds1.Tables[0].Rows.Cast<DataRow>() select rows_of_bank;

或者您可以使用AsEnumerable 从 Linq 到 DataSets 的扩展方法:

var all_pepole = from rows_of_bank in ds1.Tables[0].AsEnumerable() select rows_of_bank;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多