認識 LINQ
2012/3/16 16:20:16
LINQ,語言集成查詢(Language INtegrated Query)是一組用于c#和Visual Basic語言的擴展。它允許編寫C#或者Visual Basic代碼以查詢數(shù)據(jù)庫相同的方式操作內(nèi)
存數(shù)據(jù)。
從技術角度而言,LINQ定義了大約40個查詢操作符,如select、from、in、where以及order by(C#)中。使用這些操作可以編寫查詢語句。不過,這些查詢還可以基
于很多類型的數(shù)據(jù),每個數(shù)據(jù)類型都需要一個單獨的LINQ類型?! ?br/>經(jīng)過了最近 20 年,面向?qū)ο缶幊碳夹g( object-oriented (OO) programming technologies )在工業(yè)領域的應用已經(jīng)進入了一個穩(wěn)定的發(fā)展階段。程序員現(xiàn)在都已
經(jīng)認同像 類(classes)、對象(objects)、方法(methods)這樣的語言特性??疾飕F(xiàn)在和下一代的技術,一個新的編程技術的重大挑戰(zhàn)開始呈現(xiàn)出來,即面向?qū)?br/>
象技術誕生以來并沒有解決降低訪問和整合信息數(shù)據(jù)( accessing and integrating information )的復雜度的問題。其中兩個最主要訪問的數(shù)據(jù)源與數(shù)據(jù)庫(
database )和 XML 相關。
LINQ 提供了一條更常規(guī)的途徑即給 .Net Framework 添加一些可以應用于所有信息源( all sources of information )的具有多種用途( general-purpose )的
語法查詢特性( query facilities ),這是比向開發(fā)語言和運行時( runtime )添加一些關系數(shù)據(jù)( relational )特性或者類似 XML 特性( XML-specific )
更好的方式。這些語法特性就叫做 .NET Language Integrated Query (LINQ) ?! “?DLinq 和 XLinq
基礎知識:
1. LINQ的讀法:(1)lin k (2)lin q
2. LINQ的關鍵詞:from, select, in, where, group by, orderby, …
3. LINQ的注意點:必須以select或者是group by 結(jié)束。
4. LINQ的語義:
from 臨時變量 in 集合對象或數(shù)據(jù)庫對象
where 條件表達式
[orderby條件]
[group by 條件]
select 臨時變量中被查詢的值
LINQ的查詢返回值的類型是臨時變量的類型,可能是一個對象也可能是一個集合。并且LINQ的查詢表達式是在最近一次創(chuàng)建對象時才被編譯的。LINQ的查詢一般
跟var關鍵字一起聯(lián)用 (什么是var?匿名對象) 。
5. LINQ的全稱:Language-Integrated Query
6. LINQ的分類:LINQ to Object, LINQ to XML, LINQ to SQL, LINQ to DataSet,LINQ to ADO.NET
7. 命名空間:System.Linq;
注意:Linq是在.NET Framework 3.5 中出現(xiàn)的技術,所以在創(chuàng)建新項目的時候必須要選3.5或者更高版本,否則無法使用。
選擇3.5或更高版本的.NET Framework之后,創(chuàng)建的新項目中會自動包含System.Linq的命名空間。
語法實例:
C#3.0 LINQ 查詢語法
首先來看一個很簡單的LINQ查詢例子,查詢一個int 數(shù)組中小于5的數(shù)字,并按照大小順序排列:
class Program
{
static void Main(string[] args)
{
int[] arr = new int[] { 8, 5, 89, 3, 56, 4, 1, 58 };
var m = from n in arr where n < 5 orderby n select n;
foreach (var n in m)
{
Console.WriteLine(n);
}
Console.ReadLine();
}
}
上述代碼除了LINQ查詢語法外,其他都是我們所熟悉的語法,而LINQ查詢語法跟SQL查詢語法很相似,除了先后順序。
Q:為何 LINQ 查詢語法是以 from 關鍵字開頭的,而不是以 select 關鍵字開頭的?select 開頭這種寫法跟SQL的寫法更接近,更易懂呀?
A:簡單來說,為了IDE的智能感知(Intelisence)這個功能,select 關鍵字放在后面了。
編程語言以 select 開頭寫LINQ查詢語法不是沒出現(xiàn)過,你如果使用過2005年的VB9 CTP 版本,那時候VB9的LINQ查詢語法就是 select 關鍵字在前面,但是
select 關鍵字
下一頁
返回列表
返回首頁
主站蜘蛛池模板:
91香蕉视频污在线观看|
一本大道东京热无码一区|
欧美大香线蕉线伊人图片|
大学生男男澡堂69gaysex|
久久久久亚洲av成人网人人软件|
欧美xxxxbbb|
叶山豪是真吃蓝燕奶|
黑人一级黄色片|
国产精品天干天干|
CHINESE熟女老女人HD视频|
成人小视频免费在线观看|
久久婷婷五夜综合色频|
欧美乱子欧美猛男做受视频伦xxxx96
|
好妈妈5高清中字在线观看|
久久不射电影院|
永久免费无内鬼放心开车|
国产做受视频120秒试看|
99这里只精品热在线获取|
成人av鲁丝片一区二区免费|
久久亚洲中文字幕精品一区|
波多野结衣影视作品|
国产仑乱无码内谢|
日韩色图在线观看|
国产美女免费网站|
9自拍视频在线观看|
完全免费在线视频|
中国人免费观看高清在线观看二区
|
午夜时刻免费实验区观看|
花季传媒app免费版网站下载安装|
国产成人高清在线播放|
青青草原在线视频|
日本高清免费不卡在线|
欧美亚洲国产精品久久第一页|
国产乱码一区二区三区爽爽爽|
欧美手机在线视频|
国产精品无码aⅴ嫩草|
91精品久久久久久久久久小网站|
大香大香伊人在钱线久久下载|
√天堂资源地址在线官网|
性感的瑜伽教练|
中文亚洲日韩欧美|