Pro LINQ Object Relational Mapping with C# 2008 - Mehta, Vijay P. (Apress, 2012)
It is nearly impossible today to write enterprise software without the use of one or more relational databases. Granted, in some cases the data is transient and not stored in a database, but for the most part software needs to consume and manipulate the data in a database. Easy enough, right? You put the lime in the coconut and you’ve got yourself a data-aware software application. Wrong! There are hundreds of ways to connect software systems to databases and thousands of people who think they have the skeleton key for data access layers. I can’t say that I have the end-all pattern for data access, but I do have an efficient, repeatable way to apply industry design patterns to build scalable object-oriented persistence layers.