Download PDF version of this article PDF

Pro LINQ Object
Relational Mapping in C# 2008
Vijay Mehta, Apress, 2008, $49.99,
ISBN: 9781590599655

Visual Studio and the .NET technologies are evolving at a rapid pace. Relational databases are a critical component of nearly every major software application, making it necessary to map from the object model of the application to the data model of the database. The impedance mismatch between the object model and the data model cannot reasonably be handled without ORM (object relational mapping) tools. LINQ (Language Integrated Query)—an extension of .NET 3.5—and the ADO.NET entity framework—new with Visual Studio 8 SP1 (Service Pack 1)—are .NET technologies that provide such tools and, moreover, are nicely integrated in Visual Studio 2008 and supported by a number of wizards.
Structured in five main parts, Pro LINQ Object Relational Mapping in C# starts with two excellent chapters that introduce ORM concepts and ORM patterns and design. These chapters are a must-read, even if you go no further.

The second part of the book addresses using LINQ to SQL. It is not an introduction to LINQ and its related syntax, but rather a developer’s introduction to the use of the tools provided in Visual Studio. It emphasizes an understanding of the code, the various files produced, and the models implemented.

In part 3, the entity framework is reexamined, emphasizing the data model; the use of the Visual Studio 2008 tools added in SP1, such as the entity framework designer; and an understanding of the files these tools produce.

Part 4 contains a substantial case study for the First Bank of Pluto. The last part of the book continues the focus on the First Bank of Pluto case study, examining the N-tier architecture, reexamining LINQ to SQL and the entity framework, and discussing some alternative tools.

A nice feature of the book is the presentation of Mehta’s opinions on relevant issues, always insightful and based on experience. It is refreshing for a developer to describe the reasoning behind his design decisions, to provide appropriate samples of code and files produced, and to make the code available for download.

This book is especially suitable for C# .NET developers who develop software that uses relational databases. It assumes a considerable knowledge of C# and .NET development. This excellent book will be greatly appreciated by this audience. —David Naugler


The Rails Way
Obie Fernandez, Addison-Wesley Professional, 2007, $49.99, ISBN: 9780321445612

The Rails Way actually does what it promises on the cover: it strips the Rails development technicalities to their essence and shows the professional developer practical techniques.

This 800-plus-page comprehensive reference book is organized into 20 chapters. Its great breadth can be hinted at by a sampling of chapter titles: “Rails Environments and Configurations,” “Routing,” “REST, Resources and Rails,” and “All About Helpers.” It covers advanced programming, open-source libraries suitable for Rails integration, and testing. The author discusses integration of Ajax with a Rails application, as well as ActionMailer for e-mail integration and Capistrano for deployment. The book provides a multitude of code examples.

While the writing style is not action packed, it is competent, to the point, and expository. That is to say, both techniques and the rationale behind them are explained, and statements are justified. This is welcome in a practical text, as most advanced practitioners want to be told both “what” and “why.”

There are a few defects: the index could reflect the expository nature of the writing, but instead consists mostly of code pointers; references could be more complete and instead of being placed at the end of each chapter could either be footnoted on the page or placed together at the end of the book. While Ruby developer Dave Thomas et al.’s book, Programming Ruby, is recommended for introductory users, few other books in the field are cited. But these are minor complaints for what is the most comprehensive and informative book available on Rails for the advanced programmer. —David Bellin


Originally published in Queue vol. 6, no. 7
see this item in the ACM Digital Library


© ACM, Inc. All Rights Reserved.