基于ASPNET的Web應(yīng)用開發(fā)單元9任務(wù)1:使用LINQ連接數(shù)據(jù)庫(kù)課件_第1頁(yè)
基于ASPNET的Web應(yīng)用開發(fā)單元9任務(wù)1:使用LINQ連接數(shù)據(jù)庫(kù)課件_第2頁(yè)
基于ASPNET的Web應(yīng)用開發(fā)單元9任務(wù)1:使用LINQ連接數(shù)據(jù)庫(kù)課件_第3頁(yè)
基于ASPNET的Web應(yīng)用開發(fā)單元9任務(wù)1:使用LINQ連接數(shù)據(jù)庫(kù)課件_第4頁(yè)
基于ASPNET的Web應(yīng)用開發(fā)單元9任務(wù)1:使用LINQ連接數(shù)據(jù)庫(kù)課件_第5頁(yè)
已閱讀5頁(yè),還剩20頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、單元9:使用LINQ技術(shù)訪問數(shù)據(jù)庫(kù)任務(wù)1:使用LINQ連接數(shù)據(jù)庫(kù)WEB 應(yīng) 用 開 發(fā)主要內(nèi)容LINQ 介紹1LINQ TO SQL介紹 2對(duì)象關(guān)系設(shè)計(jì)器3DataContext類4使用LINQ連接數(shù)據(jù)庫(kù)5學(xué)習(xí)目標(biāo)知識(shí)目標(biāo):了解LINQ技術(shù)了解LINQ To SQL掌握對(duì)象關(guān)系設(shè)計(jì)器的用法掌握DataContex類的定義與方法掌握使用LINQ如何連接數(shù)據(jù)庫(kù)能力目標(biāo)會(huì)使用LINQ技術(shù)連接數(shù)據(jù)庫(kù)技術(shù)應(yīng)用背景LINQ是Language Integrated Query的縮寫,中文名字是語(yǔ)言集成查詢,它提供給程序員一個(gè)統(tǒng)一的編程概念和語(yǔ)法,程序員不需要關(guān)心將要訪問的是關(guān)系數(shù)據(jù)庫(kù),XML數(shù)據(jù)或是遠(yuǎn)程的對(duì)

2、象,它都采用同樣的訪問方式。LINQ 在對(duì)象領(lǐng)域和數(shù)據(jù)領(lǐng)域之間架起了一座橋梁。LINQ查詢既可以在新項(xiàng)目中使用,也可以在現(xiàn)有項(xiàng)目中與非LINQ查詢一起使用。唯一的要求是項(xiàng)目應(yīng)面向.NET 3.5或.NET 4.0的版本。 一、任務(wù)1:使用LINQ連接數(shù)據(jù)庫(kù)使用Linq to sql連接到Linqdb數(shù)據(jù)庫(kù),并用GridView顯示該數(shù)據(jù)庫(kù)userInfo的數(shù)據(jù)信息。運(yùn)行效果如下:LINQ是Language Integrated Query的簡(jiǎn)稱,翻譯成中文就是語(yǔ)言集成查詢。LINQ是一系列的編程接口,借助于LINQ技術(shù),可以使用一種統(tǒng)一的方式查詢各種不同類型的數(shù)據(jù)。LINQ是微軟公司在.NET

3、 Framework中一項(xiàng)突破性的創(chuàng)新,它在對(duì)象領(lǐng)域和數(shù)據(jù)領(lǐng)域之間架起了一座橋梁。LINQ通過使用特定的語(yǔ)法,可以對(duì)數(shù)據(jù)庫(kù)、對(duì)象以及XML等多種類型的數(shù)據(jù)進(jìn)行查詢操作。LINQ既可在新項(xiàng)目中使用,也可在現(xiàn)有項(xiàng)目中與非LINQ查詢一起使用。LINQ采用一種開放性的設(shè)計(jì)架構(gòu),這種開放性不僅表現(xiàn)在其可以被多種.NET語(yǔ)言所支持,還表現(xiàn)在通過為不同類型的數(shù)據(jù)源開發(fā)相應(yīng)的LINQ Provider,LINQ可以在各種類型的數(shù)據(jù)源之間提供一個(gè)統(tǒng)一的訪問接口。二、基本知識(shí)與技能LINQ簡(jiǎn)介 1、什么是LINQ二、基本知識(shí)與技能LINQ簡(jiǎn)介L(zhǎng)INQ enabled ADO.NETLINQ to Entitie

4、sLINQ ToSQLLINQ toXMLC# 3.0VB 9.0OthersLINQ ToDatasetLINQ ToObjectsXMLObjectsRelational Data.NET Language Integrated Query(LINQ)2、LINQ架構(gòu)二、基本知識(shí)與技能LINQ簡(jiǎn)介L(zhǎng)INQ 主要包含以下三部分:LINQ to Objects 主要負(fù)責(zé)對(duì)象的查詢LINQ to XML 主要負(fù)責(zé) XML 的查詢LINQ to ADO.NET 主要負(fù)責(zé)數(shù)據(jù)庫(kù)的查詢,它又包括以下三種類型:LINQ to SQLLINQ to DataSetLINQ to Entities3、LIN

5、Q分類二、基本知識(shí)與技能LINQ to SQL簡(jiǎn)介L(zhǎng)INQ to SQL是LINQ中最重要的一個(gè)組件,為.NET Framework 3.5所支持,它可以為關(guān)系數(shù)據(jù)庫(kù)提供一個(gè)對(duì)象模型,并在該對(duì)象模型基礎(chǔ)上實(shí)現(xiàn)對(duì)數(shù)據(jù)的查詢、添加、修改、刪除等功能。即LINQ to SQL 提供了用于將關(guān)系數(shù)據(jù)作為對(duì)象管理的運(yùn)行時(shí)基礎(chǔ)結(jié)構(gòu)。使用 Visual Studio 的開發(fā)人員通常使用對(duì)象關(guān)系設(shè)計(jì)器(O/R 設(shè)計(jì)器),它提供了用于實(shí)現(xiàn)許多 LINQ to SQL 功能的用戶界面。1、什么是LINQ to SQL二、基本知識(shí)與技能LINQ to SQL簡(jiǎn)介L(zhǎng)INQ to SQL最重要的一個(gè)功能就是為SQL S

6、erver 數(shù)據(jù)庫(kù)創(chuàng)建一個(gè)對(duì)象模型(由基于.NET框架的類組成),并將該對(duì)象模型映射到SQL Server數(shù)據(jù)庫(kù)中相應(yīng)的對(duì)象(如表、列、外鍵關(guān)系、存儲(chǔ)過程、函數(shù)等)。其中,LINQ to SQL類映射到SQL Server數(shù)據(jù)庫(kù)中的表,這些LINQ to SQL類被稱為“實(shí)體類”。實(shí)體類中的屬性或字段映射到SQL Server數(shù)據(jù)庫(kù)中表的列。實(shí)體類之間的關(guān)聯(lián)映射到SQL Server數(shù)據(jù)庫(kù)中的外鍵關(guān)系。LINQ to SQL 類中的方法映射為SQL Server 數(shù)據(jù)庫(kù)中的存儲(chǔ)過程或函數(shù)。 2、LINQ to SQL對(duì)象模型二、基本知識(shí)與技能LINQ to SQL簡(jiǎn)介L(zhǎng)INQ 對(duì)象模型和SQL

7、 Server 數(shù)據(jù)庫(kù)中的對(duì)象的映射關(guān)系如下表所示。LINQ to SQL 對(duì)象模型的基本元素SQL Server 數(shù)據(jù)庫(kù)中的對(duì)象實(shí)體類表屬性或字段列關(guān)聯(lián)外鍵關(guān)系方法存儲(chǔ)過程或函數(shù)3、LINQ對(duì)象模型與關(guān)系數(shù)據(jù)模型的對(duì)應(yīng)關(guān)系二、基本知識(shí)與技能對(duì)象關(guān)系設(shè)計(jì)器對(duì)象關(guān)系設(shè)計(jì)器(O/R設(shè)計(jì)器)提供了一個(gè)可視化設(shè)計(jì)界面,用于創(chuàng)建基于數(shù)據(jù)庫(kù)中對(duì)象的LINQ到SQL的實(shí)體類和關(guān)聯(lián)。換句話說, O/R設(shè)計(jì)器用于在應(yīng)用程序中創(chuàng)建映射到數(shù)據(jù)庫(kù)中對(duì)象的對(duì)象模型。它生成了一個(gè)強(qiáng)類型DataContext,用于在實(shí)體類與數(shù)據(jù)庫(kù)之間發(fā)送和接收數(shù)據(jù)。O/R設(shè)計(jì)器還提供了相關(guān)功能,用于將存儲(chǔ)過程和函數(shù)映射到DataConte

8、xt方法以便返回?cái)?shù)據(jù)和填充實(shí)體類。二、基本知識(shí)與技能對(duì)象關(guān)系設(shè)計(jì)器如LinqDB數(shù)據(jù)庫(kù)中的UserInfo表將和LinqDB.dbml文件中的Userlnfo 類進(jìn)行映射,UserInfo 表的列和UserInfo 表的屬性進(jìn)行映射,它們之間的映射關(guān)系如圖所示。LinqDBDataContext 類LinqDB 數(shù)據(jù)庫(kù)UserInfo 表IDUsernamePasswordEmailUserInfo 類ID 屬性Username屬性Password屬性Email屬性二、基本知識(shí)與技能DataContext類DataContext類是一個(gè)LINQ to SQL 類,它充當(dāng)SQL Server 數(shù)

9、據(jù)庫(kù)與映射到該數(shù)據(jù)庫(kù)的LINQ to SQL 實(shí)體類之間的管道,它包含用于連接數(shù)據(jù)庫(kù)以及操作數(shù)據(jù)庫(kù)數(shù)據(jù)的連接字符串信息和方法。DataContext類能夠通過數(shù)據(jù)庫(kù)連接或連接字符串來映射數(shù)據(jù)庫(kù)中的所有實(shí)體的源,并跟蹤和標(biāo)識(shí)用戶對(duì)數(shù)據(jù)庫(kù)的更改。用戶可以調(diào)用其SubmitChanges()方法將所有更改提交到數(shù)據(jù)庫(kù)。當(dāng)DataContext 類(或從其派生的類)的實(shí)例操作數(shù)據(jù)庫(kù)時(shí),實(shí)例會(huì)自動(dòng)打開和關(guān)閉數(shù)據(jù)庫(kù)的連接。如果用戶顯式打開了實(shí)例的連接,那么用戶也必須顯式關(guān)閉實(shí)例的連接。1、DataContext類簡(jiǎn)介二、基本知識(shí)與技能DataContext類提交更改到數(shù)據(jù)庫(kù)的SubmitChanges()

10、 方法SubmitChanges() 方法能夠計(jì)算要插入、更新或刪除的已修改對(duì)象的集,并執(zhí)行相應(yīng)的修改提交到數(shù)據(jù)庫(kù),并修改數(shù)據(jù)庫(kù)。獲取表集合的GetTable() 方法GetTable() 方法能夠獲取DataContext 類的實(shí)例的表的集合。 2、DataContext類的方法 二、基本知識(shí)與技能DataContext類獲取已修改對(duì)象的GetChangeSet()方法GetChangeSet() 方法能夠獲取被修改的對(duì)象,它返回由3 個(gè)只讀集合(Inserts 、Deletes和Updates )組成的對(duì)象。GetChangeSet() 方法返回值的類型為ChangeSet ,由3個(gè)只讀集

11、合(Inserts 、Deletes 和Updates )組成。ChangeSet 類包含以下3個(gè)屬性:Deletes 屬性,已從ChangeSet 中刪除的實(shí)體。Inserts 屬性,已插入到ChangeSet 中的實(shí)體。Updates 屬性,已在ChangeSet 中更新的實(shí)體。三、任務(wù)1的實(shí)施創(chuàng)建一個(gè)ASP.NET空Web應(yīng)用程序sampleLinq在“解決方案資源管理器”窗口中,右鍵單擊項(xiàng)目,在彈出的菜單中選擇“添加”|“新建項(xiàng)”命令,在彈出的“添加新項(xiàng)”對(duì)話框中,選擇已安裝模板中的“數(shù)據(jù)”,然后再選中“LINQ to SQL類”模板,最后,單擊“添加”按鈕,在名稱框輸入LinqDB.

12、dbml,這樣會(huì)在項(xiàng)目下添加一個(gè)名為L(zhǎng)inqDB.dbml的文件,這個(gè)文件是中間數(shù)據(jù)庫(kù)標(biāo)記語(yǔ)言文件,它將提供對(duì)象關(guān)系設(shè)計(jì)器的界面。打開LinqDB.dbml ,就可以看到對(duì)象關(guān)系設(shè)計(jì)器的界面,在這個(gè)界面中,可以通過拖曳方式來定義與數(shù)據(jù)庫(kù)相對(duì)應(yīng)的實(shí)體和關(guān)系。打開“服務(wù)器資源管理器”窗口,建立可以使用的數(shù)據(jù)庫(kù)連接,從數(shù)據(jù)庫(kù)LinqDB中,把表UserInfo拖曳到對(duì)象關(guān)系設(shè)計(jì)器的界面上,這時(shí)就會(huì)生成一個(gè)實(shí)體類。該類包含了與表UserInfo的字段對(duì)應(yīng)的屬性。打開LinqDB.disigner.cs,該文件包含LINQ到SQL實(shí)體類以及自動(dòng)生成的強(qiáng)類型LinqDB.dbmlDataContext的定

13、義。并且打開web.config文件,可以看到在節(jié)中自動(dòng)生成了數(shù)據(jù)庫(kù)連接字符串。1、創(chuàng)建LINQ到SQL的實(shí)體類LinqDB.dbml示意圖三、任務(wù)1的實(shí)施添加頁(yè)面文件“Default.aspx”,打開并切換到“設(shè)計(jì)”視圖,從工具箱拖動(dòng)1個(gè)GridView控件。單擊GridView控件右上方小三角,打開“Gridview任務(wù)”列表。在“選擇數(shù)據(jù)源”下拉列表中選擇“新建數(shù)據(jù)源”選項(xiàng),彈出如下圖所示“數(shù)據(jù)源配置向?qū)А睂?duì)話框。2、使用LinqDataSource控件顯示數(shù)據(jù)三、任務(wù)1的實(shí)施在“應(yīng)用程序從哪里獲取數(shù)據(jù)?”列表中選擇“LINQ”數(shù)據(jù)源,將生成的LinqDataSource控件的ID屬性命

14、名為“LinqDataSource1”,單擊“確定”按鈕。彈出如下圖所示的“配置數(shù)據(jù)源”對(duì)話框。三、任務(wù)1的實(shí)施單擊“下一步”按鈕,彈出“配置數(shù)據(jù)選擇”對(duì)話框。單擊“高級(jí)”按鈕。彈出如圖所示的“高級(jí)選項(xiàng)”對(duì)話框。勾選所有的復(fù)選框,啟用LinqDataSource控件的自動(dòng)刪除、插入和更新的功能,回到“配置數(shù)據(jù)選擇”對(duì)話框,單擊“完成”按鈕。結(jié)束數(shù)據(jù)源的配置。完成配置后,自動(dòng)生成一個(gè)名為L(zhǎng)inqDataSource1的數(shù)據(jù)源配置控件,它支持添加、刪除、修改操作。三、任務(wù)1的實(shí)施打開“設(shè)計(jì)”視圖中GridView控件的“GridView任務(wù)”列表,勾選“啟動(dòng)分頁(yè)”、“啟動(dòng)排序”、“啟動(dòng)編輯”和啟動(dòng)刪除4個(gè)復(fù)選框。打開“GridView任務(wù)”列表,選擇“自動(dòng)套用格式”。彈出“自動(dòng)套用格式”對(duì)話框,在左邊的菜單選擇“簡(jiǎn)明型”,單擊確

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論