初識Linq表示式

2021-07-15 22:56:17 字數 1126 閱讀 9661

由於近期做專案涉及到linq表示式,正好來學習一下。

linq

(languageintegrated query

)語言整合查詢,是一組用於

c#和visual basic語言的擴充套件。它允許編寫c#或者

visual basic**以查詢資料庫相同的方式操作記憶體資料。

約束linq查詢表示式必須以from子句開頭,以select或group子句結束。

關鍵字功能

from…in…

指定要查詢的資料來源以及範圍變數,多個

from子句則表示從多個資料來源查詢資料。

注意:c#編譯器會把「復合from子句」的查詢表示式轉換為selectmany()擴充套件方法。

join…in…on…equals…

指定多個資料來源的關聯方式

let引入用於儲存查詢表示式中子表示式結果的範圍變數。通常能達到層次感會更好,使**更易於閱讀。

orderby、descending

指定元素的排序欄位和排序方式。當有多個排序欄位時,由欄位順序確定主次關係,可指定公升序和降序兩種排序方式

where

指定元素的篩選條件。多個

where子句則表示了並列條件,必須全部都滿足才能入選。每個where子句可以使用謂詞&&、||連線多個條件表示式。

group

指定元素的分組字段。

select

指定查詢要返回的目標資料,可以指定任何型別,甚至是匿名型別。(目前通常被指定為匿名型別)

into

提供乙個臨時的識別符號。該標識可以引用

join、group和select子句的結果。

1)直接出現在join子句之後的into關鍵字會被翻譯為groupjoin。

(into之前的查詢變數可以繼續使用)

2)select或group子句之後的into它會重新開始乙個查詢,讓我們可以繼續引入where, orderby和select子句,它是對分步構建查詢表示式的一種簡寫方式。

(into之前的查詢變數都不可再使用)

先到這裡了,具體問題遇到再談!

linq表示式對比lambda表示式

什麼是linq表示式?什麼是lambda表示式?前一段時間用到這個只是,在網上也沒找到比較簡單明瞭的方法,今天就整理了一下相關知識,有空了再仔細研究研究 public program ling表示式 var stus1 from s in allstudent where s.name 王二 sel...

Linq表示式開竅

static iqueryablegetpagelist expressionbool wherelambda,expression orderlambda,int pagesize,int pageindex where t class 上面值的返回型別是iqueryable,為什麼是這個型別呢?...

Linq表示式開竅

static iqueryablegetpagelist expressionbool wherelambda,expression orderlambda,int pagesize,int pageindex where t class 上面值的返回型別是iqueryable,為什麼是這個型別呢?...