Murach's ADO.NET 3.5, LINQ, and the Entity Framework by Anne Boehm comes in both Visual Basic and C# 2008 versions. The introduction says that knowledge of VB or C# is assumed, but no database knowledge is necessary. What that really means is that she starts at the beginning, but she moves quickly into advanced material.
I like this approach. Too many books skip or gloss over the basics, giving a reader nowhere to look if he doesn't fully understand the code examples (except additional books).
The 3.5 books replace an earlier ADO.NET 2.0 version, available for VB only. In addition to adding C# and updating some of the material, the sections on LINQ and Entity Framework (EF) are entirely new.
Murach books use a "paired page" layout. On the left page is text, with the right page showing diagrams, bullet points and code samples. The right page is almost like a PowerPoint presentation, and you can quickly get through material you already know by skimming the pages on the right. The paired pages generally help you read at your own appropriate pace, especially if you're familiar with many of the points. In places, I found myself reading both pages and seeing the same material, or reading only one sideand missing something. Each chapter ends with a summary and a list of terms, so you can check that you understood all of it. The layout makes it easy to go back and find something later.
These books contain good, complete and realistic code examples, and step-by-step instructions for creating them using Visual Studio tools. However, all of the ADO chapters discuss WinForms, not ASP. Many of the LINQ techniques are applicable to either platform, but the first half of the book is of minimal help to the ASP developer. (The LINQ and EF sections do dedicate their last chapters to ASP.)
LINQ (Language Integrated Query) was added with .NET 3.0 and enhanced in 3.5. Briefly, LINQ allows you to perform SQL-like selection over collections of data, whether in databases, XML, or program Objects. It lets you use a list to return another list, filtered and/or sorted. In the introductory LINQ chapter, she briefly introduces Lambda expressions, which offer a shorter, alternative syntax to many LINQ queries. Lambdas are missing from the rest of the book.
The Entity Framework, added in 3.5 SP1, allows you to program to conceptualized objects instead of a specific database structure. Both LINQ and EF simplify working with data, by adding IntelliSense and a terse, flexible syntax to replace what would formerly have been much more code, tied to a specific implementation.
Murach's website has all the code examples available for free download, and there are exercises at the end of chapters using suggested changes to the examples. To me, this is the best part of the book. The downloaded code saves you from having to type along, but the exercises test your knowledge of both programming concepts and the hidden features of the Visual Studio IDE.
The code samples use SQL Server Express. An appendix explains how to download it from Microsoft if you don't already have it.
I learned a lot from this book. It introduced me to areas of Visual Studio that I had never seen before, as well as LINQ and EF. There's a lot of material here, well presented. It mostly lives up to the Murach claim that their books are "several books in one", replacing what would otherwise be a book on ADO, a book on LINQ and possibly a third book on EF.
If you order directly from Murach, they have a 90 day "no questions asked" return policy. How wrong can you go?
Microsoft has hinted that they will deprecate LINQ to SQL, in favor of LINQ to Entity Framework. The jury may be out on this, however. You'll want to understand both.