通用和便利的信息查詢方式-培訓(xùn)_第1頁
通用和便利的信息查詢方式-培訓(xùn)_第2頁
通用和便利的信息查詢方式-培訓(xùn)_第3頁
通用和便利的信息查詢方式-培訓(xùn)_第4頁
通用和便利的信息查詢方式-培訓(xùn)_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、通用和便利的信息查詢方式http:/l面向?qū)ο?(OO) 編程技術(shù)l.NET Language Integrated Query (LINQ):采用通用方案來解決各種信息源的訪問與整合問題l語言集成查詢使得查詢表達式 能夠得益于豐富的元數(shù)據(jù)、編譯時語法檢查、靜態(tài)輸入和智能感知 Dim words as String() = _ hello, wonderful, linq, beautiful, world“ Dim shortWords = _ From word In words _ Where word.Length 5 _ Select wordl“標(biāo)準(zhǔn)查詢運算符”是組成語言集成查詢

2、(LINQ) 模式的方法。l實現(xiàn)了 IEnumerable(Of (T) 接口或 IQueryable(Of (T) 接口。標(biāo)準(zhǔn)查詢運算符提供了包括篩選、投影、聚合、排序等功能在內(nèi)的查詢功能l篩選數(shù)據(jù): Where,OfTypel投影運算: Select, SelectManyl對數(shù)據(jù)進行排序: OrderBy, ThenByl數(shù)據(jù)分區(qū): GroupByl限定符運算: Any, Alll數(shù)據(jù)分區(qū): Take, Skip, TakeWhile, SkipWhilelSet 操作: Distinct, Union, Intersect, Exceptl聚合運算: Count, Sum, Min,

3、Max, Averagel轉(zhuǎn)換數(shù)據(jù)類型: ToArray, ToList, ToDictionaryl確立數(shù)據(jù)源l創(chuàng)建查詢l執(zhí)行查詢LINQ To ObjectsDim Number = 31719Dim MyName = Kong“Dim Area = 1.9Dim aUser = New UserPublic Class User Public FirstName As String Public LastName As String Public Age As Integer Public Sub New(ByVal lastName As String) _LastName = las

4、tName End SubEnd ClassDim user= New User With _ .Age = 30, .FirstName = Yong, .LastName = KongDim user2 = New User(Kong) With _ .Age = 8, .FirstName = YongDim user= New With _ .Age = 30, .FirstName = Yong, .LastName = Kong _Module UserHelper _ Public Function GetUserName(ByVal user As User) As Strin

5、g Return String.Format(your Name:0 1, _ user.FirstName ,user.LastName) End FunctionEnd Modulel參數(shù)它表明了擴展方法與類之間的關(guān)系,這個參數(shù)是什么類型,這個方法就會被擴展到對應(yīng)類型的實例上.Dim user = New User(Kong, Kong) With .Age = 8Dim userName = user.GetUserName()l參數(shù):調(diào)用方法的參數(shù)總比擴展方法的參數(shù)少1個,因為擴展方法的第1個參數(shù),用于確定擴展方法與要擴展的類之間的關(guān)系l簡單的Lambda表達式 Dim lambda1

6、 = Function(x) x + 1 Implicitly typedDim lambda2 = Function(x As Integer) x + 1 Explicitly typedDim lambda3 = Function(x, y) x * y Multiple parametersDim lambda4 = Function() 1 No parametersl泛型委托Dim upperImplicit As Func(Of String, String) = Function(s) s.ToUpper()lLINQ to SQL 是 .NET Framework 3.5 版

7、的一個組件,提供了用于將關(guān)系數(shù)據(jù)作為對象管理的運行時基礎(chǔ)結(jié)構(gòu)。l在 LINQ to SQL 中,關(guān)系數(shù)據(jù)庫的數(shù)據(jù)模型映射到用開發(fā)人員所用的編程語言表示的對象模型。l當(dāng)應(yīng)用程序運行時,LINQ to SQL 會將對象模型中的語言集成查詢轉(zhuǎn)換為 SQL,然后將它們發(fā)送到數(shù)據(jù)庫進行執(zhí)行。當(dāng)數(shù)據(jù)庫返回結(jié)果時,LINQ to SQL 會將它們轉(zhuǎn)換回您可以用您自己的編程語言處理的對象。l數(shù)據(jù)上下文(DataContext) System.Data.Linq命名空間下的重要類型,用于把查詢句法翻譯成SQL語句,以及把數(shù)據(jù)從數(shù)據(jù)庫返回給調(diào)用方和把實體的修改寫入數(shù)據(jù)庫 DataContext提供了以下一些使用的

8、功能:l以日志形式記錄DataContext生成的SQLl執(zhí)行SQL(包括查詢和更新語句)l創(chuàng)建和刪除數(shù)據(jù)庫 DataContext是實體和數(shù)據(jù)庫之間的橋梁l實體類(Entity Classes)LINQ To SQLlLINQ to XML 經(jīng)過了重新設(shè)計,是最新的 XML 編程方法。l它提供文檔對象模型 (DOM) 的內(nèi)存文檔修改功能,支持 LINQ 查詢表達式。 盡管這些查詢表達式在語法上與 XPath 不同,但它們以更加類型化的方式提供類似的功能。lXDocument 類 包含有效的 XML 文檔所需的信息。 其中包括 XML 聲明、處理指令和注釋lXElement 類 表示一個 XM

9、L 元素。 可以使用該類創(chuàng)建元素;更改元素內(nèi)容;添加、更改或刪除子元素;向元素中添加屬性;或以文本格式序列化元素內(nèi)容。lXAttribute 類 屬性是與元素關(guān)聯(lián)的名稱/值對。 XAttribute 類表示 XML 屬性。LINQ To XMLlLINQPad :LINQPad 是一個很好的學(xué)習(xí)LINQ的工具,LINQPad 是完全免費的,無需安裝, C# 3.0 in a Nutshell一書中200個示例lVLinq :Visual Linq Query Builder(LINQ可視化查詢編輯器)作為Visual Studio 2008的一個插件,可以幫助我們在程序中創(chuàng)建LINQ to SQL查詢表達式,支持C#和VB兩種語言lLINQ in Action 電子書:作者:Fabrice Marguerie, Steve Eichert, Jim Wooley 網(wǎng)址: http:/lThe LINQ Project(LINQ 項目)站點位于 MSDN 上,提供了有關(guān) LINQ 的一般新聞和信息。lVisual Basic Developer Center(Visual Basic 開發(fā)人員中心),提供了有關(guān)結(jié)合使用 LINQ 和 Visua

溫馨提示

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

評論

0/150

提交評論