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

成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都做網(wǎng)站、成都網(wǎng)站制作、棗莊網(wǎng)絡(luò)推廣、小程序制作、棗莊網(wǎng)絡(luò)營(yíng)銷、棗莊企業(yè)策劃、棗莊品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供棗莊建站搭建服務(wù),24小時(shí)服務(wù)熱線:028-86922220,官方網(wǎng)址:www.cdcxhl.com
.NET Framework 3.5中引入了一個(gè)新特性LINQ(集成語(yǔ)言查詢),據(jù)說(shuō).NET Framework 3.5中很多特性都是為L(zhǎng)INQ而服務(wù)的,例如Lambda表達(dá)式的支持,匿名類型,等等……這篇文章會(huì)講述一個(gè)把Linq to Object應(yīng)用于測(cè)試的例子。
前一陣子需要測(cè)試一個(gè)搜索在線會(huì)員的功能,如果一個(gè)用戶是在線的,那么他所能夠被搜索到的信息都會(huì)作為一條記錄,保存在一個(gè)表中,主要的字段有5 個(gè),也就是根據(jù)這5個(gè)字段的信息可以查詢出用戶想要的在線會(huì)員。一個(gè)簡(jiǎn)單的方案就是寫一個(gè)比較復(fù)雜的存儲(chǔ)過(guò)程,然后根據(jù)5個(gè)輸入來(lái)查詢出不同的結(jié)果,不過(guò) DBA說(shuō)在SQL SERVER中進(jìn)行邏輯運(yùn)算的性能不是很好,所以開發(fā)人員寫了12條存儲(chǔ)過(guò)程,分別對(duì)應(yīng)不同的組合,那么對(duì)于我做集成測(cè)試來(lái)說(shuō),我起碼要有12個(gè)測(cè)試方法對(duì)應(yīng)這12條存儲(chǔ)過(guò)程。同時(shí)我還要設(shè)計(jì)一定數(shù)量的測(cè)試數(shù)據(jù),供我查詢測(cè)試,而比較要命的是,這些測(cè)試數(shù)據(jù)隨著我對(duì)這個(gè)功能的理解的深入,在不斷地增加,結(jié)果就是如果我寫第一個(gè)測(cè)試的時(shí)候,我準(zhǔn)備的數(shù)據(jù)是30條,OK,測(cè)試通過(guò); 等我寫到第五個(gè)測(cè)試的時(shí)候,測(cè)試數(shù)據(jù)可能有40條了,當(dāng)我用這40條測(cè)試數(shù)據(jù)重新指向第一個(gè)測(cè)試的時(shí)候,F(xiàn)AILED!!!這讓人非常郁悶。所以我想到了能不能用round trip的方法來(lái)進(jìn)行測(cè)試。做一個(gè)比喻,假如說(shuō)我想證明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)為程序是正確的,否則就是兩者之一存在問(wèn)題。
首先準(zhǔn)備一些測(cè)試數(shù)據(jù),保存為XML文件,第一方便對(duì)測(cè)試數(shù)據(jù)進(jìn)行CRUD,第二可以用XmlSerializer把這些數(shù)據(jù)轉(zhuǎn)換為對(duì)象,方便用LINQ進(jìn)行查詢。
- < ?xml version="1.0" encoding="utf-8" ?>
1300010000 friendid> 北京市 province> 北京市 city> 18 age> 2 gender> true hasphoto> - onlinefrienddata>
1300010002 friendid> 北京市 province> 北京市 city> 27 age> 2 gender> false hasphoto> - onlinefrienddata>
1300010004 friendid> 廣東省 province> 廣州市 city> 45 age> 1 gender> true hasphoto> - onlinefrienddata>
- friends>
- onlinefriends>
【編輯推薦】
- LINQ to SQL數(shù)據(jù)表介紹
- LINQ查詢的目的與實(shí)現(xiàn)手段
- LINQ from子句進(jìn)行復(fù)合查詢實(shí)現(xiàn)方法
- LINQ查詢表達(dá)式功能詳解
- LINQ基礎(chǔ)概念總結(jié)
網(wǎng)站題目:LINQ進(jìn)行查詢簡(jiǎn)單介紹
文章路徑:http://m.5511xx.com/article/dpoesso.html


咨詢
建站咨詢
