原文網址
http://msdn.microsoft.com/msdnmag/issues/07/06/CSharp30/default.aspx?loc=zx
以下為自己的讀後心得。
現在寫程式幾乎已經避不掉資料庫了,除非是寫一些很特殊的程式。然而每一種程式語言都有自己一套連接資料庫的方法,這樣的不一致性造成程式設計師很大的困擾。假如轉換另一套語言,那之前所學的等於是浪費掉,現在又得重新學另一套方法。
微軟在下一版Visual Studio所包含的技術:LINQ,就是要建立一套一致的方法去存取資料。注意!是資料而不是只有前面所提的資料庫。
從上圖中可以知道,除了較為"實體"的資料庫以及XML,甚至是抽象的物件也可以存取。下面示範一個簡單的範例:
var locals = from c in customers
where c.ZipCode == 91822
select new { FullName = c.FirstName + “ “ +
c.LastName, HomeAddress = c.Address };
有學過SQL的人,即使沒學過C#,大概也知道這是在作什麼,這就是LINQ的力,這其實用到了匿名型別以及Lamdba運算式。Lamdba就像是:
c => c.ZipCode == 91822
有了這樣的東西,上面的查詢範例,實際上會轉為:
var locals =
customers
.Where(c => c.ZipCode == 91822)
.Select(c => new { FullName = c.FirstName + “ “ + c.LastName,
HomeAddress = c.Address });
詳細情形,大家可以參考原文網址。
PS:VB跟LINQ的使用方法
http://msdn.microsoft.com/msdnmag/issues/07/06/VBLINQ/default.aspx?loc=zx