close

原文網址

http://msdn.microsoft.com/msdnmag/issues/07/06/CSharp30/default.aspx?loc=zx

以下為自己的讀後心得。

現在寫程式幾乎已經避不掉資料庫了,除非是寫一些很特殊的程式。然而每一種程式語言都有自己一套連接資料庫的方法,這樣的不一致性造成程式設計師很大的困擾。假如轉換另一套語言,那之前所學的等於是浪費掉,現在又得重新學另一套方法。

微軟在下一版Visual Studio所包含的技術:LINQ,就是要建立一套一致的方法去存取資料。注意!是資料而不是只有前面所提的資料庫。

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

arrow
arrow
    全站熱搜

    卑微研究生 發表在 痞客邦 留言(0) 人氣()