Thứ Ba, 31 tháng 7, 2012

Sử dụng LINQ để truy vấn dữ liệu trong 1 DataTable

Trước hết phải add reference System.Data.DataSetExtensions.dll để sử dụng phương thức extension AsEnumerable() cho DataTable.

Demo:
  1. // tạo 1 datatable để test  
  2. DataTable table = new DataTable("table");  
  3. table.Columns.Add(new DataColumn("Name"typeof(string)));  
  4. table.Columns.Add(new DataColumn("Age"typeof(int)));  
  5. for (int i = 0; i < 5; i++)  
  6. {  
  7.     DataRow NewRow = table.NewRow();  
  8.     NewRow["Name"] = "Nguyễn Văn " + i;  
  9.     NewRow["Age"] = i;  
  10.     table.Rows.Add(NewRow);  
  11. }  
  12.   
  13. // lấy danh sách những người có tuổi >= 3  
  14. var query = from row in table.AsEnumerable() where row.Field<int>("Age") >=3 select row;  
  15. DataTable dt = query.CopyToDataTable();  
DataTable gốc:


DataTable từ câu truy vấn:


Không có nhận xét nào :

Đăng nhận xét