2013年9月3日 星期二

[轉貼] 項目使用中Linq使用總結


出處:http://www.cnblogs.com/ryanding/

 本文旨在和網友分享Linq在項目中的實踐,曾經我參與過的項目都能看見Linq的影子。(LinqTosql、LinqToString、LinqToXML、LinqToEntity 等等...)個人認為Linq是近年來微軟推出的非常成功的一項技術。比如,當我熟悉Linq之後,再用SQL寫商業邏輯時,感覺已經不再適應了。如果您還沒有系統的研究過Linq,希望本文可以給您帶來幫助。
本文將從以下幾個方面介紹Linq在實際開發中的應用範圍:
一、LinqToXML

在測試工程內加入xml文件:

用Linq操作XML文件,可以增刪改查xml,示例代碼如下:

二、LinqToEntity

用EF操作NorthWind 數據庫:

注,生成的sql語句分別為:
Inner Join : SELECT \r\n1 AS [C1], \r\n[Extent1].[CompanyName] AS [CompanyName], \r\n[Extent2].[OrderDate] AS [OrderDate]\r\nFROM [dbo].[Customers] AS [Extent1]\r\nINNER JOIN [dbo].[Orders] AS [Extent2] ON [Extent1].[CustomerID] = [Extent2].[CustomerID]
Outer Join: SELECT \r\n1 AS [C1], \r\n[Extent1].[CompanyName] AS [CompanyName], \r\n[Extent2].[OrderDate] AS [OrderDate]\r\nFROM [dbo].[Customers] AS [Extent1]\r\nLEFT OUTER JOIN [dbo].[Orders] AS [Extent2] ON [Extent1].[CustomerID] = [Extent2].[CustomerID]

三、LinqToFile

Linq操作磁盤文件:

四、LinqToArray

Linq操作數組:

小結

以上四點對Linq的總結相對比較全面了,為了讓我們的代碼更優美,更便於維護,還有理由不用Linq麼?

沒有留言:

張貼留言