成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

LINQ和ADO.NET技術(shù)怎么理解

本篇內(nèi)容主要講解“LINQ和ADO.NET技術(shù)怎么理解”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“LINQ和ADO.NET技術(shù)怎么理解”吧!

成都創(chuàng)新互聯(lián)公司2013年至今,是專(zhuān)業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元通道做網(wǎng)站,已為上家服務(wù),為通道各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話(huà):18982081108

LINQ和ADO.NET

如今,許多業(yè)務(wù)開(kāi)發(fā)人員都必須使用兩種(或多種)編程語(yǔ)言:用于業(yè)務(wù)邏輯和表示層的高級(jí)語(yǔ)言(如 Visual C# 或 Visual Basic)和可與數(shù)據(jù)庫(kù)交互的查詢(xún)語(yǔ)言(如 Transact-SQL)。這要求開(kāi)發(fā)人員精通多種語(yǔ)言才能奏效,同時(shí)也導(dǎo)致在開(kāi)發(fā)環(huán)境中語(yǔ)言不匹配。例如,使用數(shù)據(jù)訪(fǎng)問(wèn) API 對(duì)數(shù)據(jù)庫(kù)執(zhí)行查詢(xún)的應(yīng)用程序會(huì)將查詢(xún)指定為用引號(hào)括起的字符串。編譯器不能讀取此查詢(xún)字符串,因此不會(huì)檢查是否有錯(cuò)誤,如語(yǔ)法無(wú)效或引用的列或行是否實(shí)際存在。不會(huì)檢查查詢(xún)參數(shù)的類(lèi)型,也不支持 IntelliSense。

語(yǔ)言集成查詢(xún) (LINQ) 使開(kāi)發(fā)人員能夠在應(yīng)用程序代碼中形成基于集合的查詢(xún),而不必使用單獨(dú)的查詢(xún)語(yǔ)言。您可以編寫(xiě)針對(duì)各種可枚舉數(shù)據(jù)源(即實(shí)現(xiàn) IEnumerable 接口的數(shù)據(jù)源)的 LINQ 查詢(xún),可枚舉數(shù)據(jù)源包括駐留在內(nèi)存中的數(shù)據(jù)結(jié)構(gòu)、XML 文檔、SQL 數(shù)據(jù)庫(kù)和 DataSet 對(duì)象等。雖然這些可枚舉數(shù)據(jù)源以多種方式實(shí)現(xiàn),但它們都公開(kāi)相同的語(yǔ)法和語(yǔ)言構(gòu)造。由于可以使用編程語(yǔ)言本身形成查詢(xún),因此您不必使用編譯器無(wú)法理解或驗(yàn)證的以字符串形式嵌入的其他查詢(xún)語(yǔ)言。通過(guò)提供編譯時(shí)類(lèi)型和語(yǔ)法檢查以及 IntelliSense,將查詢(xún)集成到編程語(yǔ)言也使 Visual Studio 程序員的工作更有效。這些功能降低了對(duì)查詢(xún)調(diào)試和錯(cuò)誤修復(fù)的需求。

有三種獨(dú)立的 ADO.NET 語(yǔ)言集成查詢(xún) (LINQ) 技術(shù):LINQ to DataSet、LINQ to SQL 和 LINQ to Entities。LINQ to DataSet 提供針對(duì) DataSet 的形式多樣的優(yōu)化查詢(xún),LINQ to SQL 使您可以直接查詢(xún) SQL Server 數(shù)據(jù)庫(kù)架構(gòu),而 LINQ to Entities 允許您查詢(xún) 實(shí)體數(shù)據(jù)模型。

將數(shù)據(jù)從 SQL 表傳輸?shù)絻?nèi)存中的對(duì)象通常單調(diào)乏味并容易出錯(cuò)。由 LINQ to DataSet 和 LINQ to SQL 實(shí)現(xiàn)的 LINQ 提供程序可以將源數(shù)據(jù)轉(zhuǎn)換為基于 IEnumerable 的對(duì)象集合。在您查詢(xún)數(shù)據(jù)和更新數(shù)據(jù)時(shí),程序員始終會(huì)以 IEnumerable 集合的形式查看這些數(shù)據(jù)。為編寫(xiě)針對(duì)這些集合的查詢(xún)提供完全的 IntelliSense 支持。

LINQ和ADO.NET:關(guān)系圖

下面的關(guān)系圖概述了 ADO.NET LINQ 技術(shù)如何關(guān)聯(lián)到高級(jí)編程語(yǔ)言和啟用 LINQ 的數(shù)據(jù)源。

LINQ和ADO.NET技術(shù)怎么理解

下面各節(jié)提供有關(guān) LINQ to DataSet、LINQ to SQL 和 LINQ to Entities 的更多信息。

LINQ to DataSet

DataSet 是賴(lài)以生成 ADO.NET 的斷開(kāi)連接式編程模型的關(guān)鍵元素,使用非常廣泛。LINQ to DataSet 使開(kāi)發(fā)人員能夠通過(guò)使用許多其他數(shù)據(jù)源可用的同樣的查詢(xún)表述機(jī)制在 DataSet 中內(nèi)置更豐富的查詢(xún)功能。

LINQ to SQL

LINQ to SQL 是適合不需要映射到概念模型的開(kāi)發(fā)人員使用的有用工具。通過(guò)使用 LINQ to SQL,您可以直接在現(xiàn)有數(shù)據(jù)庫(kù)架構(gòu)上直接使用 LINQ 編程模型。LINQ to SQL 使開(kāi)發(fā)人員能夠生成表示數(shù)據(jù)的 .NET Framework 類(lèi)。這些生成的類(lèi)直接映射到數(shù)據(jù)庫(kù)表、視圖、存儲(chǔ)過(guò)程和用戶(hù)定義的函數(shù),而不映射到概念數(shù)據(jù)模型。

使用 LINQ to SQL 時(shí),除了其他數(shù)據(jù)源(如 XML)外,開(kāi)發(fā)人員還可以使用與內(nèi)存集合和 DataSet 相同的 LINQ 編程模式直接編寫(xiě)針對(duì)存儲(chǔ)架構(gòu)的代碼。

LINQ to Entities

大多數(shù)應(yīng)用程序目前是在關(guān)系數(shù)據(jù)庫(kù)之上編寫(xiě)的。有時(shí)這些應(yīng)用程序?qū)⑿枰c以關(guān)系形式表示的數(shù)據(jù)進(jìn)行交互。數(shù)據(jù)庫(kù)架構(gòu)并不總是構(gòu)建應(yīng)用程序的理想選擇,并且應(yīng)用程序的概念模型與數(shù)據(jù)庫(kù)的邏輯模型不同。實(shí)體數(shù)據(jù)模型 是可用于對(duì)特定域的數(shù)據(jù)進(jìn)行建模的概念數(shù)據(jù)模型,以便應(yīng)用程序可作為對(duì)象與數(shù)據(jù)進(jìn)行交互。

通過(guò) 實(shí)體數(shù)據(jù)模型,在 .NET 環(huán)境中將關(guān)系數(shù)據(jù)作為對(duì)象公開(kāi)。這樣,對(duì)象層就成為 LINQ 支持的理想目標(biāo),從而允許開(kāi)發(fā)人員通過(guò)用于構(gòu)建業(yè)務(wù)邏輯的語(yǔ)言編寫(xiě)對(duì)數(shù)據(jù)庫(kù)的查詢(xún)。

到此,相信大家對(duì)“LINQ和ADO.NET技術(shù)怎么理解”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢(xún),關(guān)注我們,繼續(xù)學(xué)習(xí)!

網(wǎng)頁(yè)標(biāo)題:LINQ和ADO.NET技術(shù)怎么理解
網(wǎng)頁(yè)URL:http://jinyejixie.com/article14/pdcode.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名關(guān)鍵詞優(yōu)化、品牌網(wǎng)站設(shè)計(jì)、電子商務(wù)、服務(wù)器托管、云服務(wù)器

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
肇东市| 磐安县| 杭锦后旗| 麻城市| 阿巴嘎旗| 监利县| 公主岭市| 惠来县| 赤水市| 华宁县| 庄河市| 庆元县| 汤原县| 淮安市| 江陵县| 通城县| 闵行区| 黎城县| 合阳县| 华宁县| 德惠市| 澜沧| 腾冲县| 商城县| 阜新市| 乌鲁木齐市| 鄂托克前旗| 班玛县| 上杭县| 大竹县| 涿鹿县| 长丰县| 福建省| 永州市| 黔南| 绍兴县| 五华县| 城固县| 墨竹工卡县| 临高县| 揭阳市|