http://javenstudio.org - C++ Java 分布式 搜索引擎 Naven's Research Laboratory - Thinking of Life, Imagination of Future
(原文:http://blogs.msdn.com/danielfe/archive/category/10786.aspx )
在 2005年9月13日,Anders Hejlsberg 在PDC2005上首次展示了LINQ項(xiàng)目的第一個(gè)Demo。(LINQ Project Home: http://msdn.microsoft.com/netframework/future/linq/)
你可能會(huì)問(wèn) LINQ 究竟是什么?
LINQ,全名叫 Language INtegrated Query,它把查詢(xún)(Query)和設(shè)置(set operations)等操作封裝起來(lái),就像.NET語(yǔ)言里如 C# 或 VB 最先實(shí)現(xiàn)的 SQL statements 查詢(xún)語(yǔ)句一樣。
Query 表達(dá)式,也就是你所熟悉并熱衷于使用的 SQL 語(yǔ)法如“from”、“where”和“select”等以及其他 C# 和 VB 里最先實(shí)現(xiàn)的查詢(xún)語(yǔ)法。不僅如此,Query 表達(dá)式還可用于跨應(yīng)用領(lǐng)域查詢(xún)數(shù)據(jù)。在下面的例子中,示范如何查詢(xún)對(duì)象數(shù)據(jù)(Objects),就如同查詢(xún)數(shù)據(jù)庫(kù)(Database)中的數(shù)據(jù)一樣容易。
用LINQ編寫(xiě)的代碼是什么樣子呢?
下面的例子示范查詢(xún)一個(gè)string數(shù)據(jù)列表(list),并返回長(zhǎng)度為 5 的 string 數(shù)據(jù)。
程序?qū)⑤敵鋈缦陆Y(jié)果:
LINQ 的奇妙之處在于你可以用它來(lái)查詢(xún)?nèi)魏螖?shù)據(jù)。下面的例子示范從 SQL Server 2005 中查詢(xún)所有 Title 長(zhǎng)度為 5 的 Customer 數(shù)據(jù):
Customers 類(lèi)是一個(gè)可以讓你的程序訪問(wèn)的對(duì)應(yīng)于數(shù)據(jù)庫(kù)表(table) 結(jié)構(gòu)的自動(dòng)生成的類(lèi)。上面代碼的前兩行是建立一個(gè)數(shù)據(jù)庫(kù)連接并獲取 Customers 表的數(shù)據(jù),下一行是查詢(xún)所有 ContactTitle 的字符串長(zhǎng)度為 5 的 Customers 并返回其 ContactName 數(shù)據(jù),再輸出到屏幕。
簡(jiǎn)單的說(shuō),LINQ 可以通過(guò)一個(gè)統(tǒng)一的標(biāo)準(zhǔn)的方式(類(lèi)似 SQL 查詢(xún)語(yǔ)句)很輕松的訪問(wèn)任何一種數(shù)據(jù)源。
待續(xù), 譯者Naven 2005-10-20
Powered by: C++博客 Copyright © Javen-Studio