且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

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

更新时间:2022-11-30 10:35:24

  table.AsEnumerable().. 。

table.AsEnumerable()。AsQueryable()...

但是,您需要将自己的翻译(选择)写入您的类型;而 IQueryable 仍将使用LINQ对对象;在 IEnumerable 中使用 IQueryable 的唯一目的(在这种情况下)将是使用表达式出于某些其他原因 - 也许对于动态LINQ库


Since there is no Linq to DB2 yet (c'mon IBM!), and I want to deal with IQueryables or IEnumerables in my code, how would I convert a DataTable to an IQueryable? Or an IEnumerable?

I have an interface and a class that matches the columns in the datatable...

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

DataTable.Rows does not support .AsQueryable, since MSFT yanked it, so I'm not sure what to do here.

table.AsEnumerable()...

table.AsEnumerable().AsQueryable()...

However, you'd need to write your own translation (Select) to your type; and the IQueryable<T> would still be using LINQ-to-Objects; the only purpose (in this scenario) of using IQueryable<T> over IEnumerable<T> would be to use expressions for some other reason - perhaps for the dynamic LINQ library.