Book review by Mike Riley.
Language Integrated Query, LINQ for short, is perhaps one of the most exciting new additions to the .NET technology stack in a long while. It's still too early to declare it a complete success in the minds of .NET developers, but it is certainly something with which any serious user of the .NET languages should become familiar. LINQ is an idea that has been talked about for years, but it took a robust framework and a determined team of architects and coders to bring it to fruition. It will still take some time for LINQ connectors to multiply into the various specific data types intended to be queried, but much forward momentum is already underway.
Charlie Calvert, Essential LINQ's coauthor, is an accomplished author who has been working for some time with the people who helped design LINQ. With its deep knowledge and crystal-clear explanations of various LINQ scenarios and optimal coding approaches, this book reflects that solid relationship. The first three chapters do a decent job of setting the stage, explaining what LINQ is, and getting the reader excited about what LINQ can do for a .NET project seeking an easier programmatic way to deal with structured data sources. The next three chapters provide a technical overview of C# 3.0 features as they relate to LINQ, as well as writing query expressions and learning the various query operators. The next three chapters, comprising nearly 100 pages, deal with what's currently the most frequent LINQ use case: interacting with SQL data stores. This is followed by the second most active use of LINQ: XML data interaction. Chapter 16 summarizes the patterns and practices the authors have discovered over the course of their education and use of the technology.
The penultimate chapter in Essential LINQ collects a brief roundup of the existing connectors available when the book was printed. Examples include Parallel LINQ (PLINQ), LINQ to Flickr (built on top of a useful tool named LINQExtender), and LINQ to SharePoint. As mentioned earlier, the list of currently available connectors is currently somewhat sparse, but it's growing. When .NET developers start seeing connectors for Microsoft/MSN's most popular web properties, as well as interfaces for major content aggregators on the web (like Wikipedia or Amazon), that's when LINQ will prove its usefulness outside the Microsoft boundaries.
Essential LINQ concludes with a brief (three pages) chapter that cleanly summarizes the pre- and post-LINQ worlds, providing plenty of motivation to take the knowledge gained from reading this book and applying it to your own .NET-based projects. The book's one appendix, titled "Tips for Developers," points readers to the essential downloads required to use LINQ, along with the Object Relation Designer (LINQ to SQL Designer) and a helpful summarized reference of C# keywords and Visual C# 2008 key bindings.
For now, LINQ represents a new way of thinking, and a considerably easier way to access and interact with structured data. Essential LINQ is a book that will take you there.
Title: Essential LINQ
Authors: Charlie Calvert and Dinesh Kulkarni
Publisher: Addison-Wesley Professional
Page Count: 600