亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

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

        張紅實 蔣鄭

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

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

        1 引言

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

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

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

        LINQ的查詢處理包含三個操作:①獲取數(shù)據(jù)源;②創(chuàng)建查詢;③執(zhí)行查詢。在LINQ里,查詢的執(zhí)行和查詢的構(gòu)造本身是截然不同的。如果只是創(chuàng)建查詢變量,則不會查詢數(shù)據(jù),只有訪問查詢變量時才執(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用來查詢內(nèi)存中的數(shù)據(jù)對象集合;LINQ to SQL用來查詢SQL Server 200x數(shù)據(jù)庫的表;LINQ to Data Sets用來查詢ADO.NET Data Sets,LINQ to XML用來查詢XML數(shù)據(jù),LINQ to Entities用來查詢ADO.NET框架中的業(yè)務(wù)實體。

        3 LINQ to SQL查詢

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

        3.1 LINQ to SQL實體類的映射

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

        3.2 Linq Data Source控件

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

        4 結(jié)束語

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

        參考文獻(xiàn)

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

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

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

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

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

        作者簡介

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

        蜜桃av噜噜一区二区三区9| 亚洲人成人一区二区三区| 欧美日韩高清一本大道免费 | 精品久久久无码不卡| 日本少妇又色又紧又爽又刺激| 国产精品久久久在线看| 亚洲av成人网| 久久精品人人爽人人爽| 亚洲无码夜夜操| 亚洲精品一区二区三区蜜臀| 不卡一区二区三区国产| 亚州国产av一区二区三区伊在| 国产精品igao视频网| 加勒比精品久久一区二区三区 | 国产精品二区三区在线观看| 亚洲日本精品国产一区二区三区| 午夜精品久久久久久久99热| 亚洲 欧美精品suv| 国产美女a做受大片免费| 国产优质av一区二区三区| 国产亚洲视频在线播放| 国产成人精品久久综合| 日本精品一区二区三区在线视频| 久久精品韩国日本国产| 中文字幕午夜精品一区二区三区| 无码乱肉视频免费大全合集| 国产精品毛片久久久久久久| 综合激情网站| 精品国产3p一区二区三区| 午夜免费观看日韩一级视频| 欧洲vat一区二区三区| 无码日韩AⅤ一区二区三区| 日本精品国产1区2区3区| 91精品久久久中文字幕| 亚洲乱色伦图片区小说| 国产成人精品一区二区视频| 亚洲一区二区三区在线中文| 日产一区日产2区日产| 国产超碰人人做人人爽av大片| 久久亚洲精品ab无码播放| 亚洲欧美日韩在线精品2021|