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

Linq To DataTable學(xué)習(xí)筆記

開發(fā) 后端
這里介紹Linq To DataTable,包括介紹Linq已經(jīng)讓我們感覺不到Query的難點, 它讓我們很容易的實現(xiàn)高難度的Query。

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

Linq To DataTable

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

  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的結(jié)果,_filter 是 _result 中 CustomerID 以“B”開始的{CustomerID , ContactName, CompanyName} 集合,但是這個匿名類型就沒辦法作為變量 return 給另外一個方法調(diào)用。

可能把這個{CustomerID , ContactName, CompanyName} 集合反射到一個DataTable類型是比較符合一般數(shù)據(jù)庫需求的, 或許說這也是某些舊系統(tǒng)輕松插上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查詢架構(gòu)簡單介紹
  3. LINQ to SQL映射關(guān)系概述
  4. LINQ To SQL對象模型淺析
  5. LINQ to SQL映射列描述
責(zé)任編輯:佚名 來源: 博客園
相關(guān)推薦

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構(gòu)建框架設(shè)計

2009-09-17 13:54:26

LINQ to XML

2010-05-11 09:09:13

DataTableLINQ

2009-09-07 17:09:45

Linq To Sql

2009-09-08 15:27:08

Linq Select

2009-09-10 17:38:04

LINQ技術(shù)

2009-09-11 12:08:09

Linq to SQL

2009-09-16 17:13:54

學(xué)習(xí)Linq

2009-09-17 13:38:42

LINQ to XML

2009-09-10 13:54:27

LINQ語法

2009-09-14 17:10:57

LINQ模糊查詢

2009-09-17 15:51:39

Linq to sql

2009-09-17 08:47:00

Linq查詢

2009-09-14 20:17:05

并行LINQ

2009-09-14 18:19:49

LINQ模糊查詢

2009-09-15 16:26:46

Linq排序

2009-09-17 13:30:32

LINQ to XML
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 黄视频免费在线 | 四虎影院在线观看av | 久久精品欧美一区二区三区不卡 | 国产欧美综合在线 | 国产网站在线免费观看 | 国产精品美女 | 亚洲国产精品精华素 | 亚洲国产一区二区在线 | www.一区二区三区 | 日韩色在线 | 亚洲综合色自拍一区 | 91在线电影| 91精品久久久久久久久久 | 久久精品国产亚洲 | 福利色导航 | 日本视频在线播放 | 日日摸夜夜添夜夜添精品视频 | 欧美成人激情视频 | 一区二区视屏 | 正在播放国产精品 | 久久国产区 | av网站在线看| 成人三区 | 黑人中文字幕一区二区三区 | 视频一区在线观看 | 日韩在线播放网址 | 亚洲精品区 | 亚洲精品国产电影 | 老头搡老女人毛片视频在线看 | 成人在线观看免费 | 欧美视频偷拍 | 亚洲+变态+欧美+另类+精品 | 中文字幕视频在线观看 | 国产午夜精品理论片a大结局 | 一区二区国产精品 | 国产精品久久久久久久久久三级 | 亚洲高清av在线 | 日韩国产免费观看 | 一级一级一级毛片 | 国产高清在线观看 | 涩涩视频网站在线观看 |