
I just finished reading Pro LINQ Object Relational Mapping in C# 2008
. The book covers both LINQ To SQL and LINQ To Entities ( ADO.NET Entity Framework ). There are essentially 5 parts to the book:
- Object-Relational Mapping Concepts
- LINQ To SQL Examined
- Entity Framework Examined
- The Bank of Pluto Case Study
- Building on the Bank of Pluto Foundation
The most interesting part of Pro LINQ Object Relational Mapping in C# 2008 is the Bank of Pluto Case Study. This is the first book that I have read so far that attempts to wrap LINQ To SQL behind the concepts of a Unit of Work and Data Access Objects to abstract LINQ To SQL behind a generic data access layer and Persistence Ignorance Entities. The book heavily builds upon ideas from Domain-Driven Design, Patterns of Enterprise Application Architecture, and work done in the Hibernate and NHibernate Communities to wrap Hibernate and NHibernate behind DAO's. If you are new to various concepts around Unit Of Work, Persistence Ignorance, Database Mappers, etc., the book attempts to borrow from those books and communities as necessary to help you understand those concepts and get you using LINQ To SQL in a persistence ignorance way.
The LINQ To SQL Examined and Entity Framework Examined parts in Pro LINQ Object Relational Mapping in C# 2008 are good, but are not meant to give you a thorough undertanding of LINQ To SQL and the Entity Framework. The advanced portions are not so advanced in my opinion and the main goal here is to give you the foundation you need to follow the ideas in the Bank of Pluto Case Study where you are going to apply your learnings on LINQ To SQL within data access objects in a persistence ignorance fashion. You will learn the basics of mapping using attributes via the LINQ To SQL Visual Designer or using an XML File generated by SQLMetal as well as using Stored Procedures and User Defined Functions with LINQ To SQL. You will learn the same types of concepts with LINQ To Entities as well. If you are new to LINQ To SQL, you will definitely want to pick up a more advanced book on LINQ To SQL to thoroughly understand it.
Overall, I think Pro LINQ Object Relational Mapping in C# 2008 is good in that it attempts to fill a void in the book community around using LINQ To SQL in a persistence ignorant fashion using Domain-Driven Design Concepts. If you are knowledgeable on LINQ To SQL, but lack some of the concepts around persistence and persistence ignorance, I think the book will give you a much needed perspective on these ideas. If you are knowledgeable about both LINQ To SQL and Domain-Driven Design, you can always get the book to get other thoughts on how LINQ To SQL can be used in a persistence ignorant fashion.
Although Pro is in the title, I see Pro LINQ Object Relational Mapping in C# 2008
as a more intermediate book for those wanting to understand some persistence design patterns and experience some thoughts on applying domain-driven design concepts to Microsoft's LINQ To SQL O/R Mapper.
by David Hayden
Related Posts: