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

jle*_*bke 11 linq datatable ienumerable iqueryable

由于还没有Linq to DB2(来自IBM!),并且我想在我的代码中处理IQueryables或IEnumerables,我如何将DataTable转换为IQueryable?还是IEnumerable?

我有一个接口和一个匹配数据表中的列的类...

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

DataTable.Rows不支持.AsQueryable,因为MSFT猛拉它,所以我不知道该怎么做.

Mar*_*ell 18

table.AsEnumerable()...

table.AsEnumerable().AsQueryable()...
Run Code Online (Sandbox Code Playgroud)

但是,您需要将自己的翻译(Select)写入您的类型; 并且IQueryable<T>仍然是使用LINQ到对象; 使用IQueryable<T>over 的唯一目的(在这种情况下)是IEnumerable<T>出于某种其他原因使用表达式 - 可能是动态LINQ库.