成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Linq To DataTable學習筆記

開發 后端
這里介紹Linq To DataTable,包括介紹Linq已經讓我們感覺不到Query的難點, 它讓我們很容易的實現高難度的Query。

Linq 有很多值得學習的地方,這里我們主要介紹Linq To DataTable,包括介紹DataTable類型等方面。

Linq To DataTable

Linq已經讓我們感覺不到Query的難點, 它讓我們很容易的實現高難度的Query。 或許剩下的問題, 也許是很簡單的問題就是如何保存這些Query結果?

  1. var _result = DAL.Utility.SelectAll<Customer>();  
  2. var _filter =  
  3. from q in _result  
  4. where q.CustomerID.StartsWith("B")  
  5. select new  
  6. {  
  7. q.CustomerID,  
  8. q.ContactName,  
  9. q.CompanyName  
  10. }; 

_result 是搜索所有Customer的結果,_filter 是 _result 中 CustomerID 以“B”開始的{CustomerID , ContactName, CompanyName} 集合,但是這個匿名類型就沒辦法作為變量 return 給另外一個方法調用。

可能把這個{CustomerID , ContactName, CompanyName} 集合反射到一個DataTable類型是比較符合一般數據庫需求的, 或許說這也是某些舊系統輕松插上Linq翅膀的一種方案。

下面給出Linq To DataTable的方法(某種意義上是一樣的): 

  1. public static System.Data.DataTable LinqToDataTable<T>(IEnumerable<T> data)  
  2. {  
  3. var dt = new System.Data.DataTable();  
  4. var ps = typeof(T).GetProperties().ToList();  
  5. ps.ForEach(p => dt.Columns.Add(p.Name, p.PropertyType));  
  6.  
  7. foreach (T t in data)  
  8. {  
  9. var dr = dt.NewRow();  
  10. var vs = from p in ps select p.GetValue(t, null);  
  11. var ls = vs.ToList();  
  12. int i = 0;  
  13. ls.ForEach(c => dr[i++] = c);  
  14. dt.Rows.Add(dr);  
  15. }  
  16. return dt;  
  17. }  
  18.  
  19. public static System.Data.DataTable ToDataTable<T>(IEnumerable<T> data)  
  20. {  
  21. var dt = new System.Data.DataTable();  
  22. var psSystem.ComponentModel.TypeDescriptor.GetProperties(typeof(T));  
  23. foreach (System.ComponentModel.PropertyDescriptor dp in ps )  
  24. dt.Columns.Add(dp.Name, dp.PropertyType);  
  25. foreach (T t in data)  
  26. {  
  27. var dr = dt.NewRow();  
  28. foreach (System.ComponentModel.PropertyDescriptor dp in ps)  
  29. dr[dp.Name] = dp.GetValue(t);  
  30. dt.Rows.Add(dr);  
  31. }  
  32. return dt;  

【編輯推薦】

  1. LINQ to SQL查詢分析
  2. LINQ查詢架構簡單介紹
  3. LINQ to SQL映射關系概述
  4. LINQ To SQL對象模型淺析
  5. LINQ to SQL映射列描述
責任編輯:佚名 來源: 博客園
相關推薦

2009-09-08 17:57:54

LINQ to Dat

2009-09-16 13:02:12

LINQ查詢子句

2009-09-17 16:20:43

Linq to sql

2009-09-08 09:12:12

LINQ構建框架設計

2009-09-17 13:54:26

LINQ to XML

2010-05-11 09:09:13

DataTableLINQ

2009-09-10 17:38:04

LINQ技術

2009-09-11 12:08:09

Linq to SQL

2009-09-07 17:09:45

Linq To Sql

2009-09-08 15:27:08

Linq Select

2009-09-16 17:13:54

學習Linq

2009-09-17 13:38:42

LINQ to XML

2009-09-17 15:51:39

Linq to sql

2009-09-10 13:54:27

LINQ語法

2009-09-14 17:10:57

LINQ模糊查詢

2009-09-17 08:47:00

Linq查詢

2009-09-14 18:19:49

LINQ模糊查詢

2009-09-15 16:26:46

Linq排序

2009-09-14 20:17:05

并行LINQ

2009-09-14 16:00:51

LINQ基本操作LINQ
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 免费性视频 | 欧美日韩综合 | 国产成人精品久久二区二区91 | 精品视频在线免费观看 | 中文字幕国产高清 | 欧美成人一区二区三区 | 精品一区二区三区在线视频 | 亚洲人在线播放 | 成人高清在线视频 | 91精品国产91久久久久游泳池 | 凹凸日日摸日日碰夜夜 | 日韩av福利在线观看 | 99久久婷婷国产精品综合 | 午夜精品久久久 | 91精品国产高清一区二区三区 | 久久9久| 色桃网 | 久久久久久久电影 | 国产目拍亚洲精品99久久精品 | 亚洲网站在线观看 | 人人九九精 | 国产一区不卡在线观看 | 欧美一区二区综合 | 国产伦精品一区二区三区四区视频 | 欧美一卡二卡在线观看 | 久久看精品 | 免费小视频在线观看 | 日韩欧美在线视频一区 | 国产清纯白嫩初高生在线播放视频 | 永久www成人看片 | 色视频在线播放 | 91av久久久 | 毛片网在线观看 | 亚洲精品乱码8久久久久久日本 | 一区二区三区四区免费在线观看 | 日韩久久久久久 | 亚洲精品国产电影 | 日本在线看 | 久久久av一区 | 国产精品视频免费观看 | 91在线网站|