2010-05-05 42 views
3

由於LINQ是一個很好的查詢語言,每個人都應該能夠使用它。 在開始學習LINQ之前,程序員應該具備哪些必要的能力。我應該知道什麼對於不良和LINQ更好?

然後,他應該知道什麼關於LINQ? (重要提示)

+0

您是否在尋找提示的O/RM映射的LINQ to SQL,或作爲LINQ一般的語言? – Steven 2010-05-05 12:28:55

+0

@Steven - 我只是在尋找(必不可少的)技能,它可以幫助你取消和LINQ(作爲查詢語言)。像Lambda – 2010-05-05 12:40:35

回答

10

你對什麼樣的Linq感興趣 - Linq to Objects,Linq to SQL,實現你自己的Linq提供者?

我的建議是,你應該首先學習有關LINQ的基於特徵:

  • IQueryable的和IEnumerable擴展方法

  • 方法鏈接和延遲執行

  • 匿名方法和lambda表達式

  • Linq查詢語法

  • 表達式樹(如果你的目標是實現你的LINQ提供程序)

然後又將這些功能依賴於更基本的概念:

  • 泛型

  • 代表

  • 收藏品

幾本書,可以幫助你:

  • C#中的深度(J.飛碟雙向) - 偉大的書來學習C#
  • LINQ在行動(Marguerie,Eichert,伍利)
2

對閉包/ Lambda,IEnumerable,泛型,表達式樹和方法鏈的體面理解將是一個好的開始。 LINQ幾乎只是一個基於此的實用程序集。

但是,您絕對可以學習利用LINQ,而不必深入瞭解每一個提及的功能。

+0

@David T-SQL是否必不可少? – 2010-05-05 12:26:28

+2

以上所有,再加上:擴展方法。 – Jonathan 2010-05-05 12:32:23

+0

@Nasser,如果你想查看Linq生成的SQL代碼,比如說識別性能問題,它可能會很有用。 – Jonathan 2010-05-05 12:33:34

0

有一系列視頻(我相信8),Scott Stanfield稱之爲「LINQ TO SQL」。他們對理解這個概念以及如何使用LINQ非常有幫助。

Link Here

或者,嘗試谷歌:LINQ到SQL +斯科特·斯坦菲爾德

我特別喜歡用,但用處不大。總是很好的照顧......但它非常有用。觀看視頻並得出結論。

享受!

+0

@ PH.E我正在尋找技能,您需要注意那些容忍LINQ的問題,而不是一系列好的LINQ教程。 (但是謝謝你的教程系列) – 2010-05-05 12:26:02

+0

@Nasser我相信最好的是你去練習,嘗試,並且很快將主宰LINQ的所有領域。對我來說它運行良好(當然,我不是LINQ的專家)。 但我的朋友,祝你好運,好學習。 – 2010-05-05 15:35:01

2

如果您想了解背後LINQ的原則比它是非常有用的學習函數式編程的一些基礎知識,因爲LINQ很大程度上基於這種範式。當然,你不需要在實踐中使用LINQ,但它可以幫助你理解封面下面發生了什麼(更不用說學習函數式編程會讓你成爲更好的程序員)。

我寫了一篇綜述文章對這個話題,可能對您有用:

除了函數式編程,它確實有助於理解所有的C#3.0的功能,最重要的拉姆達表達式,擴展方法還有表達樹。從技術上講,LINQ只是這三個特性的巧妙組合,所以一旦你將它們理解了,你就可以充分了解並受益於LINQ。