VS 2008新功能1:LINQ

摘要:VS 2008新功能1:LINQ

原文:http://www.ithome.com.tw/itadm/article.php?c=47295&s=3

LINQ統一各種資料類型的存取方式
微軟的ORM(Object-Relational Mapping,物件-關聯映射)解決方案,即是LINQ(Language Integrated Query)。能夠讓物件導向程式語言存取關聯式資料庫時,自動將資料表轉換成物件類別庫,以維持物件導向觀念與設計的一致性。不過LINQ已超越ORM僅針對資料庫應用的範疇,它可以用一致性的方法,存取XML、陣列、DataSet及資料庫等多種不同類型的資料,對開發人員而言,可以大幅降低學習的成本。

過去針對資料庫、XML、陣列、DataSet或者檔案系統等各種不同的資料型別,開發者必須撰寫不同的查詢陳述式,不僅複雜而且開發階段無法確認程式的正確性。例如查詢資料庫,SQL陳述式是以字串累加的方式組合,而且必須自行設定參數的型別。尤其XML的查詢門檻更高,因為階層式的結構太複雜,要找到特定節點,必須層層搜尋,要寫冗長的程式碼,或者再額外學習XPath技術。

現在透過 LINQ的技術,可以簡化存取資料的難度,另一個好處是LINQ從語言層級實作資料存取的功能,所以在撰寫程式碼的同時,Visual Studio的IntelliSense功能具有提示作用,可避免開發者犯錯。

LINQ使用一致性的方法查詢不同類型的資料

過去存取陣列、檔案及資料庫的方法完全不同,開發者必須根據資料型別撰寫查詢陳述式。現在.NET Framework 3.5透過LINQ讓開發者可以使用一致性的方法,查詢各種類型的資料,不再需要學習多種存取型態的方法。如圖,LINQ使用相同的From、Select、Where、Order By等相同的語法結構,存取4種不同類型的資料。


VB.NET讀取關聯式資料庫,使用LINQ前後程式碼對照



VB.NET讀取XML,使用LINQ前後程式碼對照