999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

淺談LINQtoSQL技術(shù)的應(yīng)用

2019-01-26 10:27:48張紅實(shí)蔣鄭
速讀·下旬 2019年1期

張紅實(shí) 蔣鄭

摘 要:本文就數(shù)據(jù)庫(kù)查詢問(wèn)題介紹了LINQ技術(shù),剖析了LINQ技術(shù)的特點(diǎn)和組成部分,對(duì)其中的LINQ to SQL技術(shù)應(yīng)用做了重點(diǎn)闡述。此技術(shù)使用類似SQL的語(yǔ)法將查詢操作直接引入到NET框架所支持的編程語(yǔ)言中,可查詢外部數(shù)據(jù)源及內(nèi)存等任何形式數(shù)據(jù),操作簡(jiǎn)單實(shí)用,為降低數(shù)據(jù)庫(kù)開發(fā)門檻,提升開發(fā)效率有著積極的意義。

關(guān)鍵詞:LINQ;數(shù)據(jù)庫(kù)查詢;LINQ to SQL

1 引言

傳統(tǒng)的數(shù)據(jù)查詢技術(shù)繁多且使用復(fù)雜,使得開發(fā)的難度較高。在這里,筆者發(fā)現(xiàn)LINQ技術(shù)在進(jìn)行數(shù)據(jù)查詢時(shí)具備很好的語(yǔ)法檢查、豐富的元數(shù)據(jù)、智能感知和靜態(tài)類型等強(qiáng)類型語(yǔ)言之類的優(yōu)點(diǎn),并且能查詢內(nèi)存中的數(shù)據(jù)而不只是外部數(shù)據(jù)源。這使我們可以用一種類似SQL語(yǔ)法的代碼來(lái)查詢?nèi)魏涡问降臄?shù)據(jù),讓開發(fā)變得簡(jiǎn)單起來(lái)。

2 LINQ技術(shù)的特點(diǎn)及組成

LINQ(Language-Integrated Query)是微軟于C#3.0推出的.Net平臺(tái)下的框架產(chǎn)品,提供了固定的編程模型,采用面向?qū)ο笏季S方式使用相同的代碼模式來(lái)對(duì)任何能兼容LINQ的數(shù)據(jù)進(jìn)行操作。

LINQ的查詢處理包含三個(gè)操作:①獲取數(shù)據(jù)源;②創(chuàng)建查詢;③執(zhí)行查詢。在LINQ里,查詢的執(zhí)行和查詢的構(gòu)造本身是截然不同的。如果只是創(chuàng)建查詢變量,則不會(huì)查詢數(shù)據(jù),只有訪問(wèn)查詢變量時(shí)才執(zhí)行查詢。這就是LINQ的延遲查詢。

LINQ由三部分組成:LINQ to Objects,LINQ to ADO.NET,LINQ to XML.其中LINQ to ADO.NET又細(xì)分為三部分:LINQ to SQL,LINQ to Data Sets,LINQ to Entities。

LINQ to Objects用來(lái)查詢內(nèi)存中的數(shù)據(jù)對(duì)象集合;LINQ to SQL用來(lái)查詢SQL Server 200x數(shù)據(jù)庫(kù)的表;LINQ to Data Sets用來(lái)查詢ADO.NET Data Sets,LINQ to XML用來(lái)查詢XML數(shù)據(jù),LINQ to Entities用來(lái)查詢ADO.NET框架中的業(yè)務(wù)實(shí)體。

3 LINQ to SQL查詢

通過(guò)使用LINQ to SQL,生成表示數(shù)據(jù)的.NET Frame work類。這些生成的類直接映射到數(shù)據(jù)庫(kù)表、視圖、存儲(chǔ)過(guò)程和用戶定義的函數(shù),而不映射到概念數(shù)據(jù)模型。當(dāng)應(yīng)用程序運(yùn)行時(shí),LINQ to SQL會(huì)將對(duì)象模型中的語(yǔ)言集成查詢轉(zhuǎn)換為SQL后發(fā)送到數(shù)據(jù)庫(kù)中執(zhí)行。當(dāng)數(shù)據(jù)庫(kù)返回結(jié)果時(shí),LINQ to SQL會(huì)將它們轉(zhuǎn)換回編程語(yǔ)言處理的對(duì)象。

3.1 LINQ to SQL實(shí)體類的映射

該實(shí)體類用于對(duì)象——關(guān)系映射(ORM):①首先準(zhǔn)備好數(shù)據(jù)庫(kù)對(duì)象,然后建立實(shí)體類;②使用LINQ to SQL執(zhí)行Delete操作,用Delete On Submit和Delete All On Submit方法來(lái)刪除數(shù)據(jù);③LINQ to SQL中的Attach和Attach All方法用來(lái)在多層結(jié)構(gòu)的程序中更新數(shù)據(jù),將實(shí)體附加到數(shù)據(jù)上下文的數(shù)據(jù)表,而表示界面層用Sub-mit Changes方法來(lái)更新數(shù)據(jù)庫(kù)。從數(shù)據(jù)庫(kù)中檢索數(shù)據(jù),由于是采用基于表達(dá)式樹的查詢機(jī)制,要通過(guò)對(duì)Queryable類的擴(kuò)展方法完成,如用where方法來(lái)根據(jù)條件篩選并返回?cái)?shù)據(jù),用Last方法來(lái)返回滿足條件的最后一條記錄等。

3.2 Linq Data Source控件

在Web應(yīng)用程序中操作數(shù)據(jù)時(shí),通過(guò)使用Linq Data Source控件來(lái)自動(dòng)創(chuàng)建與數(shù)據(jù)進(jìn)行交互的命令,簡(jiǎn)化網(wǎng)頁(yè)代碼。Linq Data Source控件與數(shù)據(jù)庫(kù)的數(shù)據(jù)交互時(shí),不直接連接數(shù)據(jù)庫(kù),而是與數(shù)據(jù)庫(kù)和表相關(guān)聯(lián)的實(shí)體類交互。Linq Data Source控件與Sql Data Source控件相比有很大的優(yōu)勢(shì),無(wú)需設(shè)置SQL查詢命令對(duì)數(shù)據(jù)的綁定和操作,Linq Data Source控件將使用LINQ to SQL自動(dòng)創(chuàng)建,當(dāng)更新或插入數(shù)據(jù)時(shí),將Data Field屬性與實(shí)體類中的屬性名進(jìn)行匹配即可。頁(yè)面通過(guò)數(shù)據(jù)源Linq Data Source控件和顯示數(shù)據(jù)的Grid View控件就可以實(shí)現(xiàn)數(shù)據(jù)的操作。

4 結(jié)束語(yǔ)

數(shù)據(jù)查詢是從一個(gè)特定結(jié)構(gòu)的數(shù)據(jù)源中取出數(shù)據(jù)。不同結(jié)構(gòu)的數(shù)據(jù)源很可能會(huì)形成不同查詢語(yǔ)言,從而導(dǎo)致開發(fā)者進(jìn)行跨數(shù)據(jù)源的數(shù)據(jù)操作難度急劇增加。而LINQ則提供固定的編程模型,兼容各種數(shù)據(jù)格式,使得數(shù)據(jù)查詢難度大大降低。與傳統(tǒng)的查詢方式相比,LINQ解決了不同數(shù)據(jù)源之間難以共同引用的問(wèn)題,無(wú)需學(xué)習(xí)各類查詢語(yǔ)言,讓程序的可讀性、靈活性迅速提高。同時(shí)因?yàn)椴樵冋Z(yǔ)句的統(tǒng)一,這就使得程序開發(fā)的門檻變低,提高了開發(fā)效率,還具有了良好的可重用性和擴(kuò)展性。

參考文獻(xiàn)

[1]胡玉貴.C#下的Linq簡(jiǎn)介[J].電腦知識(shí)與技術(shù)(學(xué)術(shù)交流),2007.

[2]陳娟.基于Frame work3.5的LINQ技術(shù)探究[J].微計(jì)算機(jī)信息,2010.

[3]韓雙旺.LINQ數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)研究[J].自動(dòng)化與儀器儀表,2011.

[4]舒國(guó)軍,黃剛.LINQ to SQL技術(shù)在Web開發(fā)中的應(yīng)用[J].遵義師范學(xué)院學(xué)報(bào),2012.

[5]趙志剛.ASP.NET中基于LINQ的數(shù)據(jù)訪問(wèn)[J].沈陽(yáng)師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2009.

作者簡(jiǎn)介

張紅實(shí)(1977—),男,重慶人,重慶工程學(xué)院軟件開發(fā)專業(yè)教師,副教授,計(jì)算機(jī)軟件與理論碩士,研究方向:ERP軟件開發(fā)及相關(guān)教學(xué)實(shí)施與研究。

主站蜘蛛池模板: 国产在线观看高清不卡| 男女性色大片免费网站| 精品成人一区二区三区电影| 国产SUV精品一区二区| 一级一级一片免费| 99无码中文字幕视频| 亚洲最猛黑人xxxx黑人猛交| 国产一区成人| 亚洲精品国产精品乱码不卞| 国产超薄肉色丝袜网站| 国产福利一区在线| 久久精品国产在热久久2019| 自慰网址在线观看| 亚洲全网成人资源在线观看| 日本中文字幕久久网站| 成人精品视频一区二区在线| 成年人免费国产视频| 黄色三级网站免费| 日韩成人午夜| 国产精品手机在线观看你懂的| 久久国产拍爱| 亚洲天堂高清| 特黄日韩免费一区二区三区| 国产97区一区二区三区无码| 亚洲swag精品自拍一区| 色有码无码视频| 女人av社区男人的天堂| 99视频只有精品| 天天色天天操综合网| 久久午夜夜伦鲁鲁片不卡| 欧美精品成人一区二区视频一| 一本久道热中字伊人| 91福利在线观看视频| 国产成人毛片| 精品视频一区二区三区在线播 | 制服丝袜 91视频| JIZZ亚洲国产| 一本大道香蕉中文日本不卡高清二区| 毛片久久久| 亚洲a级在线观看| 精品国产免费观看| 亚洲—日韩aV在线| 国产91透明丝袜美腿在线| 日本精品视频| 高清色本在线www| 成人免费一级片| 亚洲中字无码AV电影在线观看| 亚洲精品波多野结衣| 亚洲Va中文字幕久久一区| 欧美在线天堂| 国产日产欧美精品| 欧美区一区二区三| 国产激情无码一区二区APP| 国产无码制服丝袜| 国产毛片片精品天天看视频| 国产成人福利在线| 制服丝袜亚洲| 91精品啪在线观看国产60岁 | 国产人成午夜免费看| 国产精品毛片一区| 亚洲第一视频网| 成年看免费观看视频拍拍| 国产精品香蕉在线观看不卡| 国产在线啪| 日韩亚洲高清一区二区| 国产在线无码一区二区三区| 九九热免费在线视频| 亚洲小视频网站| 国产美女一级毛片| 91亚洲国产视频| 五月婷婷亚洲综合| 亚洲精品天堂自在久久77| 四虎精品黑人视频| 夜夜操狠狠操| 日韩毛片在线视频| 91福利在线观看视频| 欧美笫一页| 四虎综合网| 日韩小视频在线观看| 久久免费视频6| 2020最新国产精品视频| 欧美日韩v|