2016年5月30日 星期一

LINQ 讀取 ADO.Net DataTable 內容

能夠將我們習慣的 DataTable 透過 Linq 來進行查詢,是一件很幸福的事情。基本上,只要記得兩個語法就可以針對  DataTable 來操作。

第一個是:把 DataTable 轉為 IEnumerable<T>
使用 AsEnumerable() 來完成

第二個是:把 Linq 查詢的結果存成 DataTable。
使用 CopyToDataTable<DataRow>() 來完成


可以透過下面範例來練習:

//抓取 DataTable dtDetail 的資料
DataTable dtDetail=oT.getDataById(strID).Tables[0];

//透過 AsEnumerable() 將 DataTable 轉為 IEnumerable<T> 格式
IEnumerable<DataRow> queryDetail = from d in dtDetail.AsEnumerable()
where int.Parse( d.Field<string>("sud_salesdate") ) > int.Parse("20160101")
select d;

//將查詢結果存成 DataTable
DataTable dtResult = queryDetail.CopyToDataTable<DataRow>();

沒有留言:

張貼留言