LINQ was first added to .NET in version 3, and has been continually enhanced in subsequent versions (including the most recent release .NET 4). There are now a lot of different implementations of LINQ, including:
- LINQ to Objects
- LINQ to XML
- LINQ to DataSets
- LINQ to SQL (although controversially deprecated, it is still available and quite popular)
- LINQ to Entities (the next evolution of LINQ to SQL)
- Parallel LINQ (PLINQ)
As is typical in the .NET Framework, it is very difficult to fully understand everything. There are core concepts that every developer must know deeply, but then there is so much in the framework that you use “as needed”. And for those parts that you use “as needed”, it’s great to have a reference handy to refresh your knowledge.
I just finished reading “Pro LINQ Language Integrated Query in C# 2010”, and as far as solving the aforementioned problem, it is a great resource. There are two ways that I work through technical manuals, either reading it cover to cover, or keeping it on my shelf for quick reference and code samples. This is one of those rare books that you can use for both.
It starts by looking deeply at the core of LINQ, LINQ to Objects. This is foundational material that every .NET developer needs to know ingrained into their core. The chapters on LINQ to Objects read very well, but are also organized for quick reference usage as well. The following sections are written just as well, covering all of the topics listed above.
If I had one complaint, and it’s really a nit, I would have preferred to have the PLINQ (Parallel LINQ) chapters following the LINQ to Objects, since (imho) that is the logical progression of the core, and then move onto the other topics. The only reason I really care, is I tend to read technical manuals on my Kindle, and it would flow better. With paper copies, I can just, well, turn the pages.
In summary, you need to get this book and keep it close to your desk (or cued up in your ereader). LINQ isn’t going away, it will just keep getting more ingrained into our development, and it’s going to be more and more important to really understand it.