代码之家  ›  专栏  ›  技术社区  ›  jlembke

将数据集转换为IQueryable<T>或IEnumerable<T>

  •  11
  • jlembke  · 技术社区  · 16 年前

    我有一个接口和一个与datatable中的列相匹配的类。。。

    IQueryable<IMyData> GetAS400Data(..parameters..)
    {
        DataSet d = GetData();
        ...
        //Some code to convert d to IQueryable<IMyData>
    }
    

    3 回复  |  直到 16 年前
        1
  •  19
  •   Marc Gravell    16 年前
    table.AsEnumerable()...
    
    table.AsEnumerable().AsQueryable()...
    

    但是,您需要自己编写翻译( Select )适合你的类型;和 IQueryable<T> 仍将使用LINQ创建对象;使用的唯一目的(在此场景中) IQueryable<T> 结束 IEnumerable<T> 可能是因为其他原因而使用表达式——也许是因为 dynamic LINQ library .

        2
  •  1
  •   Nicolas Dorier    16 年前

    Take a look here 似乎存在一个具有DB2实体框架的提供者。

        3
  •  1
  •   Rami Sarieddine    12 年前

    你可以用这样的东西。

    DataSet ds = GetData();
    DataTable dt= ds.Tables[0];
    var query =
        from row in dt.AsEnumerable() 
        select new IMyData()
        {
            property1= row[0],
            property2= row[1]
        };