Linq用法筆記

2021-09-20 16:22:21 字數 2522 閱讀 5130

一、什麼是linq?

linq即language integrated query(語言整合查詢),linq是整合到c#和visual basic.net這些語言中用於提供查詢資料能力的乙個新特性。

linq是一種用來進行資料訪問的程式設計模型,linq可以用相同的語法訪問不同的資料來源,比如xml、資料庫、登錄檔、事件日誌等。

二、linq包含哪些部分?

1、linq to sql元件:可以查詢關係型資料庫的資料,並可以提供其他操作,如檢索、插入、修改、刪除、排序、聚合、分割槽等。

2、linq to dataset元件:查詢dataset物件中的資料。

3、linq to object元件:可以查詢ienumerable或是ienumerable集合物件,即能夠查詢任何可以列舉的集合,如陣列(array和arraylist)、泛型字典dictinary等,以及使用者自定義的集合,而不需要使用linq提供程式或api。

4、linq to xml元件:查詢和操作xml結構的資料。

5、linq to entities:是 entity framework 的一部分並且取代 linq to sql 作為在資料庫上使用 linq 的標準機制。entity framework 是行業領先的物件-關係對映(orm)系統。可以和多種資料庫一起使用,並支援各種靈活、複雜的資料模型。

三、linq的一些用法

1、簡單的linq查詢

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

staticvoidmain(stringargs)

;//定義乙個陣列

vargood =fromminmarks//使用linq找到所有數值大於等於60的數字

wherem >= 60

selectm;

foreach(intmarkingood)//迴圈每乙個結果

}

2、使用lambda表示式的linq查詢

static void main(string args)

;    var good = marks.where(m => m >= 60);//使用lambda表示式查詢數值大於等於60的數字

foreach (int mark in good)//迴圈每乙個結果

}

3、使用linq查詢物件集合

class program

,new student,new student,new student

};//接下來使用linq查詢所有年齡小於25歲的男性

var names = from s in students                where s.*** == true&&s.getage()<25 //呼叫物件的方法

select s.name;    foreach (string name in names)//迴圈輸出結果

}}public class student  //定義student類 public int studentid  public bool ***  public datetime birthday //以下是定義類中的方法

public int getage()

}

四、linq有什麼好處?

1、容易上手,學習成本低  

2、可以很大程度上減少**量。   

3、更快開發錯誤更少的應用程式。   

4、可以很容易的合併資料來源。   

5、讓新開發者開發效率更高。   

6、任何物件或資料來源都可以定製實現linq介面卡,為資料互動帶來真正方便。

Linq用法筆記

一 什麼是linq?linq即language integrated query 語言整合查詢 linq是整合到c 和visual basic.net這些語言中用於提供查詢資料能力的乙個新特性。linq是一種用來進行資料訪問的程式設計模型,linq可以用相同的語法訪問不同的資料來源,比如xml 資料...

LINQ 常見用法

以下資料來源都假設為data 1.獲取某列的不重複資料 listids data.select t t.id distinct tolist 2.對list進行in查詢 listids new list listdata data.where tb ids.contains tb.id select...

LINQ的基本用法

1.var q from c in db.customers select c.contactname 這個語句只是乙個宣告或者乙個描述,並沒有真正把資料取出來,只有當你需要該資料的時候,它才會執行這個語句,這就是延遲載入 deferredloading 如果,在宣告的時候就返回的結果集是物件的集合...