Rating: 4/5 stars
Any modern-day .NET developer has most likely at least tried simple LINQ expressions in code examples by now. For those who are ready to take the next step and learn the deeper intricacies and potential that LINQ in .NET 4.0 have to offer, Microsoft Press has a book for you: Programming Microsoft LINQ in Microsoft .NET Framework 4.
Jointly written by authors Paolo Pialorsi and Marco Russo, founders of consulting company DevLeap, the book is divided into five parts: LINQ Foundations, LINQ to Relational, LINQ to XML, Advanced LINQ, and Applied LINQ. LINQ Foundations covers the basic introductions to LINQ, its implementations, query keywords, and operators. Part 2 reviews when to choose LINQ to Entities and SQL and how to query, manage, and model such relationships. Part 2 closes with a useful chapter on understanding and enabling LINQ to DataSet.
The third part, LINQ to XML, reviews managing the XML Infoset via LINQ to XML programming (and the various X* classes that comprise such interfaces) and node queries. Advanced LINQ examines expression trees (lambda expressions, the Expression class, and dynamic construction and compositing of them), extending LINQ via custom operators and providers. This part of the book also contains an excellent chapter on understanding and utilizing Parallel LINQ (PLINQ), as well as a chapter on other LINQ implementations (LINQ to SharePoint and LINQ to Services, for example).
The final part puts the first four parts of the book into practice via the construction of a multi-tiered LINQ solution, considering the data abstraction, business layer, transaction handling, concurrency, and thread safety issues. I was pleased to see such a chapter showing how LINQ is used in the real world, and some of the considerations and constraints that have to be taken into account before putting LINQ into critical line of business production. The final chapter of the book on LINQ data binding shows how LINQ can be used in ASP.NET, Windows Presentation Foundation (WPF), Silverlight, and old-fashioned Windows Forms.
The text features "More Info" callout boxes that refer to other chapters or relevant online resources. Other call-outs for "Notes," "Important," and "Warnings" provide readers with experienced tips, helpful suggestions, and timesavers. Oddly absent are "New in 4.0" callouts that could have been helpful for those who are already familiar with LINQ and are seeking information about what is new or changed between .NET versions. Perhaps the authors decided to make this first edition definitive starting point of a book and may incorporate such a notation in future releases.
The book is packed with LINQ code examples in C#, Visual Basic, SQL, and XML and does a fine job of illustrating the principles and practices shared by the authors. Screen shots are adequately reproduced, particularly in the second and last parts of the book where LINQ relationships are explored and application logic is implemented with the help of Visual Studio.
In summary, Programming Microsoft LINQ in Microsoft .NET Framework 4 offers a comprehensive look at LINQ and the key technologies it is designed to assist. The authors have done a commendable job of collecting and organizing LINQ usage and scenarios with code that helps instruct and emphasize LINQ's exciting capabilities, making this book on LINQ high on my list of recommended LINQ references.
Mike Riley ([email protected]) is an advanced computing professional specializing in emerging technologies and new development trends. He is also a contributing editor for DevProConnections. Follow Mike on Twitter @mriley.
Book Review: Programming Microsoft LINQ in Microsoft .NET Framework 4
Rating: 4/5 stars