LINQ- Language Integrated Query 語言集成查詢
LINQ通過對(duì)象的方式對(duì)數(shù)據(jù)庫(kù)進(jìn)行描述。
LINQ是一種能夠快速對(duì)大部分?jǐn)?shù)據(jù)源進(jìn)行訪問和數(shù)據(jù)整合的一種技術(shù),使用相同的基本查詢表達(dá)式模式類查詢和轉(zhuǎn)換SQL數(shù)據(jù)庫(kù)、ADO.NET數(shù)據(jù)集、XML文檔和流已經(jīng).NET集合中的數(shù)據(jù)。
從.NET3.5開始引入LINQ
LINQ to Objects
LINQ to DataSet
LINQ to SQL
LINQ to Entities
LINQ to XML
System.Data.Linq 該命名空間包含支持與LINQ to SQL應(yīng)用程序中的關(guān)系數(shù)據(jù)庫(kù)進(jìn)行交互的類
System.Data.Linq.Mapping 該命名空間包含用于生成表示關(guān)系數(shù)據(jù)庫(kù)的結(jié)構(gòu)和內(nèi)容的LINQ to SQL對(duì)象模型的類
System.Data.Linq.SqlClient 該命名空間包含與SQL Server進(jìn)行通信的提供程序類,已經(jīng)包含查詢幫助器方法的類
System.Linq 該命名空間提供支持使用語言集成查詢(LINQ)進(jìn)行查詢的類和接口
System.Linq.Expression 該命名空間包含一些類,接口和枚舉,它們使語言級(jí)別的代碼表達(dá)式能夠表示為表達(dá)式樹形式的對(duì)象
System.Xml.Linq 包含LINQ to XML的類,LINQ to XML是內(nèi)存中的XML變成接口
查詢表達(dá)式使用form1.cs
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace LinqTest{ public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { int[] numbers = new int[7] { 0, 1, 2, 3, 4, 5, 6 }; //創(chuàng)建查詢 //查詢結(jié)果的類型是IEnumberable<int> var result0 = from num in numbers where (num % 2) == 0 select num; //執(zhí)行查詢結(jié)果 foreach (int num in result0) { listBox1.Items.Add(num); } } private void button2_Click(object sender, EventArgs e) { listBox1.Items.Clear(); int[] numbers = new int[7] { 2, 1, 2, 6, 4, 5, 3 }; var result1 = //聲明查詢 from num in numbers //聲明臨時(shí)變量num,其值來源于numbers where num>3 //當(dāng)前值大于3 orderby num descending//按照descending方式排序,降序 select num; //將當(dāng)前項(xiàng)加入到結(jié)果序列中 foreach (int num in result1) { listBox1.Items.Add(num); } } private void button3_Click(object sender, EventArgs e) { listBox1.Items.Clear(); int[] numbers = new int[7] { 2, 1, 2, 6, 4, 5, 3 }; var result2 = //聲明查詢 from num in numbers //聲明臨時(shí)變量num,其值來源于numbers where num > 3 //當(dāng)前值大于3 orderby num ascending//按照ascending方式排序,升序 select string.Format("當(dāng)前項(xiàng)值為{0}",num); //將當(dāng)前項(xiàng)加入到結(jié)果序列中 foreach (string num in result2) { listBox1.Items.Add(num); } } private void button4_Click(object sender, EventArgs e) { listBox1.Items.Clear(); int[] numbers = new int[7] { 2, 1, 2, 6, 4, 5, 3 }; int result3 = //聲明查詢 (from num in numbers //聲明臨時(shí)變量num,其值來源于numbers where num > 3 //當(dāng)前值大于3 select num).Count(); //將當(dāng)前項(xiàng)加入到結(jié)果序列中 button4.Text += "--" + result3.ToString(); } }}
Form1.cs
聯(lián)系客服