自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

LINQ進(jìn)行查詢簡單介紹

開發(fā) 后端
這里介紹用LINQ進(jìn)行查詢,.NET Framework 3.5中引入了一個(gè)新特性LINQ(集成語言查詢),據(jù)說.NET Framework 3.5中很多特性都是為LINQ而服務(wù)的。

學(xué)習(xí).NET Framework 3.5時(shí),經(jīng)常會(huì)遇到LINQ進(jìn)行查詢問題,這里將介紹LINQ進(jìn)行查詢問題的解決方法。

.NET Framework 3.5中引入了一個(gè)新特性LINQ(集成語言查詢),據(jù)說.NET Framework 3.5中很多特性都是為LINQ而服務(wù)的,例如Lambda表達(dá)式的支持,匿名類型,等等……這篇文章會(huì)講述一個(gè)把Linq to Object應(yīng)用于測試的例子。

前一陣子需要測試一個(gè)搜索在線會(huì)員的功能,如果一個(gè)用戶是在線的,那么他所能夠被搜索到的信息都會(huì)作為一條記錄,保存在一個(gè)表中,主要的字段有5 個(gè),也就是根據(jù)這5個(gè)字段的信息可以查詢出用戶想要的在線會(huì)員。一個(gè)簡單的方案就是寫一個(gè)比較復(fù)雜的存儲(chǔ)過程,然后根據(jù)5個(gè)輸入來查詢出不同的結(jié)果,不過 DBA說在SQL SERVER中進(jìn)行邏輯運(yùn)算的性能不是很好,所以開發(fā)人員寫了12條存儲(chǔ)過程,分別對(duì)應(yīng)不同的組合,那么對(duì)于我做集成測試來說,我起碼要有12個(gè)測試方法對(duì)應(yīng)這12條存儲(chǔ)過程。同時(shí)我還要設(shè)計(jì)一定數(shù)量的測試數(shù)據(jù),供我查詢測試,而比較要命的是,這些測試數(shù)據(jù)隨著我對(duì)這個(gè)功能的理解的深入,在不斷地增加,結(jié)果就是如果我寫第一個(gè)測試的時(shí)候,我準(zhǔn)備的數(shù)據(jù)是30條,OK,測試通過; 等我寫到第五個(gè)測試的時(shí)候,測試數(shù)據(jù)可能有40條了,當(dāng)我用這40條測試數(shù)據(jù)重新指向第一個(gè)測試的時(shí)候,F(xiàn)AILED!!!這讓人非常郁悶。所以我想到了能不能用round trip的方法來進(jìn)行測試。做一個(gè)比喻,假如說我想證明WIN7的計(jì)算器程序是正確的,那么可以把相同的計(jì)算在WIN XP的計(jì)算器中跑一遍,如果兩者結(jié)果一樣,那么我可以認(rèn)為WIN7的計(jì)算器程序也是正確的(如果XP的計(jì)算器有錯(cuò)怎么辦?先別較真,有風(fēng)險(xiǎn),但很小)。

我的做法就是,準(zhǔn)備一些數(shù)據(jù),首先用SUT進(jìn)行查詢,然后用LINQ進(jìn)行查詢,如果兩者查詢結(jié)果一致,那么可以認(rèn)為程序是正確的,否則就是兩者之一存在問題。

首先準(zhǔn)備一些測試數(shù)據(jù),保存為XML文件,第一方便對(duì)測試數(shù)據(jù)進(jìn)行CRUD,第二可以用XmlSerializer把這些數(shù)據(jù)轉(zhuǎn)換為對(duì)象,方便用LINQ進(jìn)行查詢。

  1. < ?xml version="1.0" encoding="utf-8" ?> 
  2. <onlinefriends> 
  3. <friends> 
  4. <onlinefrienddata> 
  5. <friendid>1300010000friendid> 
  6. <province>北京市province> 
  7. <city>北京市city> 
  8. <age>18age> 
  9. <gender>2gender> 
  10. <hasphoto>truehasphoto> 
  11. onlinefrienddata> 
  12. <onlinefrienddata> 
  13. <friendid>1300010002friendid> 
  14. <province>北京市province> 
  15. <city>北京市city> 
  16. <age>27age> 
  17. <gender>2gender> 
  18. <hasphoto>falsehasphoto> 
  19. onlinefrienddata> 
  20. <onlinefrienddata> 
  21. <friendid>1300010004friendid> 
  22. <province>廣東省province> 
  23. <city>廣州市city> 
  24. <age>45age> 
  25. <gender>1gender> 
  26. <hasphoto>truehasphoto> 
  27. onlinefrienddata> 
  28. friends> 
  29. onlinefriends> 

【編輯推薦】

  1. LINQ to SQL數(shù)據(jù)表介紹
  2. LINQ查詢的目的與實(shí)現(xiàn)手段
  3. LINQ from子句進(jìn)行復(fù)合查詢實(shí)現(xiàn)方法
  4. LINQ查詢表達(dá)式功能詳解
  5. LINQ基礎(chǔ)概念總結(jié)
責(zé)任編輯:佚名 來源: 51CTO
相關(guān)推薦

2009-09-15 09:39:38

LINQ查詢架構(gòu)

2009-09-15 16:09:12

LINQ進(jìn)行查詢

2009-09-08 10:50:20

2009-09-11 09:41:19

LINQ to SQL

2009-09-09 14:20:49

LINQ To Luc

2009-09-16 10:38:43

LINQ查詢

2009-09-10 16:28:17

LINQ查詢

2009-09-09 09:36:25

Linq對(duì)象引用

2009-09-07 17:46:18

LINQ高級(jí)特性

2009-09-08 09:24:50

LINQ查詢

2009-09-14 10:20:52

LINQ查詢語法

2009-09-09 15:10:35

LINQ查詢句法

2009-09-15 15:18:40

Linq連接查詢

2009-09-15 14:58:26

Linq查詢本質(zhì)

2009-09-15 11:34:47

Linq多條件查詢

2009-09-17 09:15:49

Linq表達(dá)式樹

2009-09-11 09:53:16

Linq查詢表達(dá)式

2009-09-17 08:47:00

Linq查詢

2009-08-27 13:10:54

LINQ from子句

2009-09-08 13:07:15

介紹Linq to S
點(diǎn)贊
收藏

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