LinQ是什麼?

来源:https://www.cnblogs.com/yoga21/archive/2018/04/11/8796812.html
-Advertisement-
Play Games

•LINQ(發音:Link)是語言級集成查詢(Language INtegrated Query) •LINQ是一種用來進行數據訪問的編程模型,使得.NET語言可以直接支持數據查詢 •LINQ的目標是降低訪問數據的複雜度 •LINQ可以用統一的方法訪問不同類型的數據,可以將數據作為對象使用 •能夠更 ...


•LINQ(發音:Link)是語言級集成查詢(Language INtegrated Query)

•LINQ是一種用來進行數據訪問的編程模型,使得.NET語言可以直接支持數據查詢 •LINQ的目標是降低訪問數據的複雜度 •LINQ可以用統一的方法訪問不同類型的數據,可以將數據作為對象使用 •能夠更好地與編程模型集成 •可以在Visual Studio中進行智能提示 •動態編程   LINQ的歷史: •從語言方面的進化 –委托 –匿名方法 –Lambda表達式 –Linq查詢表達式 •從時間方面的演進 –2004年 –2005年9月,C#2.0的PDC上發佈 –2005年11月,C#2.0預覽版 –2006年1月,VB8.0預覽版 –2007年11月,.net 3.5發佈    LINQ基礎: •語言集成查詢 (LINQ) 允許開發人員通過強類型化語法使用.NET Framework 3.5 代碼編寫類似SQL 的查詢。 •LINQ 查詢還具有一個標準查詢操作符庫來增強其功能。這些標準查詢操作符對序列進行運算並可執行各種運算,如確定序列中是否存在某個值以及對序列運行合計函數(如求和) •LINQ包括: –LINQ to Objects  用於對象的查詢 –LINQ to XML  對XML數據的查詢 –LINQ to ADO.NET  對資料庫的查詢 •LINQ to DataSets  數據集 •LINQ to Entities  ORM對象 •LINQ to SQL  簡易ORM框架 •命名空間在System.Linq •實現 IEnumerable<T> 或 IQueryable<T> 介面的對象都可使用LINQ操作   LINQ框架圖:   LINQ基礎語法:   •From ?? In ** where … select  new {}; –查詢語法是以 from 關鍵字開頭的,而不是以 select 關鍵字開頭的? –為了IDE的智能感知(Intelisence)這個功能,select 關鍵字放在後面 •例:
var q =   
from c in db.Customers   
where c.City == "London"   
select c; •語法與資料庫的SQL命令有些相似
select * from employee where empno=7376;   LINQ基礎操作符:   •聚合  •Aggregate  對序列執行一個自定義方法 •Average  計算數值序列的平均值 •Count  返回序列中的項目數(整數) •LongCount  返回序列中的項目數(長型) •Min  查找數字序列中的最小數 •Max  查找數字序列中的最大數 •Sum  彙總序列中的數字 •元素  •DefaultIfEmpty  為空序列創建預設元素 •ElementAt  返回序列中指定索引的元素 •ElementAtOrDefault返回序列中指定索引的元素,或如果索引超出範圍則返回預設值 •First  返回序列中的第一個元素 •FirstOrDefault  返回序列中的第一個元素,或者如果未找到元素,則返回預設值 •Last  返回序列中的最後一個元素 •LastOrDefault  返回序列中的最後一個元素,或者如果未找到元素,則返回預設值 •Single  返回序列中的單個元素 •SingleOrDefault  返回序列中的單個元素,或者如果未找到元素,則返回預設值 •排序 •OrderBy  以升序按值排列序列 •OrderByDescending  以降序按值排列序列 •ThenBy  升序排列已排序的序列 •ThenByDescending  降序排列已排序的序列 •Reverse  顛倒序列中項目的順序 •… •…     LINQ的未來:  •一切皆可LINQ,一切皆有可能 •程式語言向自然語言的進化 •資料庫存儲在軟體系統分層中更清晰 •基於.net平臺的軟體體系更好應用ORM •影響編程習慣,及解決問題的思路   LINQ參見資料:   •http://dev.yesky.com/topic/305/8142805.shtml •http://www.verycd.com/topics/2762344/ •http://www.docin.com/p-49692160.html •http://cid-79cf5e75e6e5fd50.spaces.live.com/blog/cns!79CF5E75E6E5FD50!379.entry   轉載自:https://blog.csdn.net/sytweibo/article/details/5542934。
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • import org.apache.http.HttpEntity;import org.apache.http.client.methods.HttpGet;import org.apache.http.impl.client.CloseableHttpClient;import org.apac ...
  • 實現過程 A 創建三個服務 一主二從模式 B 實現一主二從關係 C 創建sentinel.conf文件 D 增加以下內容 1.sentinel monitor <master-name> <ip> <redis-port> <quorum> 告訴sentinel去監聽地址為ip:port的一個mas ...
  • 1.Slice(切片)代表變長的序列,序列中每個元素都有相同的類型,一個slice類型一般寫作[]T,其中T代表slice中元素的類型;slice的語法和數組很像,只是沒有固定長度而已,slice的底層確實引用一個數組對象 2.內置的len和cap函數分別返回slice的長度和容量 3.s[i:j] ...
  • Java 內部類分為: 1)成員內部類 2)靜態嵌套類 3)方法內部類 4)匿名內部類 內部類的共性 1、內部類仍然是一個獨立的類,在編譯之後內部類會被編譯成獨立的.class文件,但是前面冠以外部類的類名和$符號 。 2、內部類不能用普通的方式訪問。內部類是外部類的一個成員,因此內部類可以自由地訪 ...
  • 方法 綁定方法和非綁定方法 綁定方法和非綁定方法在創建時沒有任何區別,同一方法,既可以為綁定方法,也可以為非綁定方法,一切不同都只在調用時的手法上有所區別。 綁定方法即該方法綁定類的一個實例上,必須將self作為第一個參數傳入,而這個過程是由Python自動完成。可以通過實例名.方法名(參數列表)來 ...
  • 出現這個問題的原因可能很多,但是最終原因都是部署的項目文件中沒有這個類包。 那麼出錯的點在哪呢?逐一排除! 1.首先在項目文件中沒有添加相應的jar包,可以在maven dependencis文件夾中看是否有。如果沒有,在pom文件添加依賴配置即可;如果有,還是出現問題轉第二步 2.在maven的本 ...
  • 概述 UWP Community Toolkit Extensions 中有一個為 View 提供的擴展 - View Extensions,本篇我們結合代碼詳細講解 View Extensions 的實現。 View Extensions 包括了 ApplicationViewExtensions ...
  • 文章是很基礎,但很實用,看了這篇文章,讓我一下回到了2016年剛剛學委托的時候,故轉之! 1.委托 委托類似於C++中的函數指針(一個指向記憶體位置的指針)。委托是C#中類型安全的,可以訂閱一個或多個具有相同簽名方法的函數指針。簡單理解,委托是一種可以把函數當做參數傳遞的類型。很多情況下,某個函數需要 ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...