Book Review: Murach's ADO.NET 3.5, LINQ, and the Entity Framework with C# 2008

There is no doubt that many web applications derive their usefulness by being
data-driven. Over the recent years, programming frameworks have made database
programming much easier by reducing the amount of "plumbing" effort required
from the developer — therefore allowing developers to focus on the real domain
problem.
Murach’s ADO.NET 3.5, LINQ, and the Entity Framework with C#2008 by Anne Boehm
keeps developers in sync with the latest techniques in programming against the
relational database on the .NET platform. The 700-page book features Murach’s
unique paired-pages format and is divided into five broad sections spanning a
total of 20 chapters. I’d like to point out that the C# code walkthroughs in the
book are mostly for Windows Forms but there are also chapters devoted to coding
in ASP.NET.
Section 1 gives an introduction to ADO.NET 3.5 programming. The two chapters in
this section cover database fundamentals, using SQL to work with the relational
database and its objects and functions, ADO.NET essentials such as .NET SQL data
provider classes, and ADO.NET datasets. Seasoned developers may want to skim
these chapters and head for the more advanced stuff in the subsequent sections.
Section 2 focuses on RAD (Rapid Application Development) using data sources and
datasets. Whilst this section centers on a Windows Forms application example,
web developers can still get some useful information discussed here. The topics
discussed are working with data sources and datasets, working with bound
controls and parameterized queries, and using the Dataset Designer. A sample
Invoice Entry application at the end of the section illustrates the concepts
mentioned.
Section 3 discusses building three-layer applications. Again, this section uses
Windows Forms in the discussion but web developers can still take note of most
of the valuable information presented. The five chapters in this section walk
readers through on how to work with connections, commands, data readers,
parameters, stored procedures, transactions, and object data sources. A sample
Payable Entry application is presented at the end of the chapter. The last two
sections teach readers on the newer ORM (Object-Relational Mapping) database
programming framework from Microsoft — namely, LINQ and Entity Framework.
Section 4 covers an introduction to LINQ which include basic concepts, coding
query expressions, using extension methods and lambda expressions, LINQ to
DataSet, LINQ to SQL, and LINQ to XML. There is also a chapter dedicated to
using LINQ data source controls with web applications.
Section 5 deals with Entity Framework (EF). Topics discussed include an
introduction to EF, using the Entity Data Model Wizard and Designer, customizing
the Entity Data Model, LINQ to Entities, and using Entity SQL. The final chapter
focuses on using Entity data source controls with web applications.
All the source codes discussed in the book are downloadable from the publisher’s
website.
Although there are a lot of details to cover in the subject of database
programming in .NET, I find that the book has presented the subject matter well
— covering the most essential practical database programming knowledge required in the real world.
I appreciate the fact that the chapters are organized with a logical flow
starting with the more mature ADO.NET technology, to the relatively new LINQ,
and to the more recent Entity Framework. I always believe that there is a place for
each of these technologies and it does not mean one of the technologies will
displace the other any time soon. In this respect, I’m glad to see that the book
has given fair coverage to each of these technologies.
The code samples are easy to follow and the sample screenshots are aplenty. The
sample applications are very relevant to topics discussed — with just the right
amount of complexity to convey the concepts effectively. I like the fact that
the book explains not only the skills required to code the database layer but
also how to tie the presentation layer user interface (UI) to it.
The paired-pages format and the no-nonsense writing style make this book an
excellent reference source for .NET database programming. All in all, this is a
compelling book to have for savvy .NET application developers.
Jason Ong
-- September 2009
Book Review: Murach's ADO.NET 3.5, LINQ, and the Entity Framework with C# 2008
Author: Anne Boehm
Publisher:
Mike Murach & Associates
ISBN-10: 1890774537
ISBN-13: 978-1-890774-53-0
Related Resources