Linq用法筆記

2021-09-12 09:37:09 字數 2190 閱讀 8285

一、什麼是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查詢

static void main(string args)

int marks = ;//定義乙個陣列

var good = from m in marks//使用linq找到所有數值大於等於60的數字

where m >= 60

select m;

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

console.writeline(mark);//輸出結果

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

static void main(string args)

int marks = ;

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

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

console.writeline(mark);//輸出結果

3、使用linq查詢物件集合

class program

static void main(string args)

list students = new list//申明student物件的集合

new student,

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)//迴圈輸出結果

console.writeline(name);

public class student  //定義student類

//以下是定義類中屬性

public string name

public int studentid

public bool ***

public datetime birthday

//以下是定義類中的方法

public int getage()

return datetime.now.year - birthday.year;

四、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 如果,在宣告的時候就返回的結果集是物件的集合...