Mastering LINQ

The big mistake is to feel your way in. You'll end up transliterating SQL queries into LINQ, with horrible results! Taking a little time out to learn the querying language properly will pay great dividends. LINQ has a more rewarding learning curve than SQL: while it takes longer to learn the basics, it takes less time to master. LINQ is largely free of the nuances that plague SQL and can be considered a higher-level querying language.

Books are an excellent way to learn. If you're in a hurry—and consider yourself an intermediate or advanced developer—the LINQ Pocket Reference will rapidly teach you all the essentials to become competent in querying. This small book is written by the author of LINQPad and is an extract from C# 3.0 in a Nutshell. It covers all aspects of query syntax, every query operator, how to query both local collections and databases, how to use all features of LINQ to XML, how to mix query and method syntax, and how perform every kind of join and subquery. And you can read it in an afternoon! All the examples from the LINQ Pocket Reference are preloaded into LINQPad, so you can work through them interactively. It doesn't get any easier!

There are also a number of well-reviewed larger books on LINQ, including LINQ in Action (Manning), and Pro LINQ (Apress). O'Reilly have recently released a good title specifically on Entity Framework (Programming Entity Framework). And Jon Skeet has written an excellent book on C# 2.0 and C# 3.0 (C# in Depth)—with a lot of background on the hows and whys of LINQ.

Test Yourself

You can test yourself by taking the LINQ Quiz and then reading the 10 LINQ Myths. If you were suprised by any of those myths, do yourself a favor and follow the three-step LINQ Initiation Process:

  1. Put aside an afternoon to read the LINQ Pocket Reference
  2. Work through the examples in LINQPad
  3. Take the LINQPad Challenge!

 

Over 500,000 downloads

LINQPad

LINQPad

Delicious Bookmark this on Delicious

NEW LINQPad is now on Facebook!

More

LINQPad Forum

LINQPad + StackOverflow

LINQPad + Mindscape LightSpeed

LINQPad + OData

LINQPad + DevForce

Method Chaining and Debugging

LINQBugging WinForms/WPF

Terry's LINQPad Extensions

Videos

Writing queries with LINQPad
   - Hi-res QuickTime

LINQPad + EF

V2 and Beyond

Dimecasts LINQPad Intro

LINQPad + OData


LINQPad was written by Joseph Albahari
© 2007-2011. Site hosted in Windows Azure