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
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...