- Paperback: 408 pages
- Publisher: Wrox (January 22, 2008)
- Language: English
- ISBN-10: 0470041811
- ISBN-13: 978-0470041819
- Product Dimensions: 7.4 x 0.8 x 9.2 inches
- Shipping Weight: 1.4 pounds
- Average Customer Review: 7 customer reviews
- Amazon Best Sellers Rank: #3,587,991 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Use the Amazon App to scan ISBNs and compare prices.
From the Back Cover
Are you ready to revolutionize the way you can work with data? This book shows you how to effectively utilize LINQ so that you can query XML, SQLdatabases, ADO.NET DataSets, and other data sources, and it also delvesdeeper into the technology to demonstrate how LINQ can dramatically improve your applications.
Database pro Scott Klein first examines LINQ and Visual Studio® 2008, the language-specific features that support LINQ, as well as LINQ queries and the LINQ standard query operators. He then shows you how to program with LINQ to XML with both C# and Visual Basic® and how to use LINQ to XML with other data models. Plus, he walks you through LINQ to SQL queries, advanced query concepts, LINQ to Entities, and LINQ to DataSets. All of this valuable insight will provide you with powerful new tools so that you can easily extend and access information in your databases.
What you will learn from this book
Features of Visual Studio 2008 and the .NET Framework that will help you better understand LINQ
The syntax to use when writing LINQ queries
The concepts, techniques, and programming fundamentals necessary to program with LINQ to XML
How to use LINQ to XML with Visual Basic .NET
All about LINQ to SQL queries and concepts
Ways to work with the DataContext class and entity objects
How to build applications using LINQ and associated LINQ providers
Who this book is for
This book is for developers who want to learn about LINQ and how it can benefit and enhance their applications.
Wrox Professional Guides are planned and written by working programmers to meet the real-world needs of programmers, developers, and IT professionals. Focused and relevant, they address the issues technology professionals face every day. They provide examples, practical solutions, and expert education in new technologies, all designed to help programmers do a better job.
About the Author
Scott Klein is an independent consultant with a passion for all things SQL Server, .NET, and XML. He is the author of Professional SQL Server 2005 XML and Professional WCF Programming. He also writes the biweekly feature article for the SQL PASS Community Connector, and has contributed articles to both Wrox (www.wrox.com) and TopXML (www.TopXML.com). He frequently speaks to SQL Server and .NET user groups. Scott lives in Wellington, Florida, and when he is not sitting in front of a computer or spending time with his family, he can usually be found aboard his Yamaha at the local motocross track. He can be reached at ScottKlein@SqlXml.com.
Browse award-winning titles. See more
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
Scott also talks about LINQ to SQL - In my opinion majority of the book is about LINQ to SQL. In this subject he talks about different techniques that you can do with LINQ to SQL like for example LINQ to SQL Queries.
What I noticed is that he briefly metions about LINQ to Objects. LINQ to Objects allows .NET developers to write "queries" over collections of objects. Traditionally, working with collections of objects meant writing a lot of looping code using for loops or foreach loops to iterate through a list carrying out filtering using if statements, and some action like keeping a running sum of a total property. LINQ frees you from having to write looping code; it allows you to write queries that filter a list or calculate aggregate functions on elements in a collection as a set.
Overall, I think this book is a good reference for developers that want to get into LINQ to XML or LINQ to SQL.
However, the editing of the book is absolutely terrible, particularly for one in the Wrox P2P series. There are numerous typos throughout the book, as well as areas where the content is simply wrong. For example, in one area (page 77), he describes a LINQ query as grouping by the last name, then displaying the first and middle names concatenated together, when in reality the code is grouping by the FIRST name and concatenating the middle and last together.
This might sound like I am nit-picking. However, when covering a topic like this where there are new and non-intuitive items (such as method syntax and lambda expressions) being discussed, it is critically important that the description of the example actually matches the example. Considering that the book rarely lists the syntax format itself, mismatches can lead to "learning" incorrect information.
Were the editing better, I would give this a solid 4 out of 5 stars.
Oh, on another note.. Be aware that this book was based on Beta releases.. Things have changed a little bit.
A lesser complaint is a fair bit of text is repeated in different chapters. It's easy to scoot through that, though.
I have worked with LINQ for quite a while now, since I came across it in the early stages at the MVP summit a few years ago. In many ways I think it's a very easy subject to learn b/c in many ways, it is so similar to SQL. At the same time, as with anything, true mastery is not easy. Because I also teach a course on LINQ and Entity Framework, I buy every LINQ book that I can find and have seen it covered as a topic in many of the most recent C# books. The whole line of LINQ books that have come out are, in my opinion, very good. And while they all cover essentially the same topics, they all have their own way to approach the subject so I've gained a good bit by examining how each author approaches the subject. I think this book is a solid 4.5 stars - there wasn't 4.5 available but I think it's a lot closer to a five than a 4.
Why do I think that? First off, it's thorough. Apparently another reader doesn't agree with this assesment and decided the book warranted 1 star b/c of it's light treatment [..]. While equality and non-discrimination are laudable objectives, I think getting upset b/c a book didn't give equal coverage to both languages is ridiculous and punishing an author with a 1 star review is really unfairly punitive. But, if equal coverage of both languages is what you need in a book - then be advised, you're going to be disappointed. If on the other hand, you feel that you can code in either language and that understanding the framework is what's important, well, you'll find this book rewarding. Code examples in both languages (and hey, if we're going to knock authors for discriminating against VB.NET, why not trash everyone that doesn't cover managed C++ or J# too. And what about F#?) take up a lot of space and Scott uses that space to delve into the functional areas of LINQ.
It starts out covering the new language features of VB.NET 9 and C# 3.0 - features necessary to support linq and which are used commonly when coding with LINQ. Those include features such as object initializers, collection initializers, extension methods, implicitly typed local variables, lambda expressions, expression trees etc.
He proceeds to the basic mechanics of LINQ queries. Much of this is covered in MSDN but he certainly expounds upon each area enough to make a substantive difference in your understanding. He moves on to LINQ to Objects and has a pretty detailed coverage of using LINQ to create business objects. He then moves to LINQ to XML and LINQ to Sql. The LINQ to XML coverage is excellent and leaves you wanting for nothing. The LINQ to Sql discussion is also pretty detailed although the coverage related to passing LINQ through tiers is a little short. However that's the case with each LINQ book and that's mainly b/c LINQ 2 Sql's n-tier story is not a happy one. He does cover the .Attach method which is about all you really can cover in that respect without really covering it as its own topic.
In his coverage of each of these, he covers the use of Lambda expressions and expression trees and provides many examples of each. Readers will likely find this coverage alone justification for buying the book. In my experinece, truly understanding LAMDAS is not hard, but learning them (at least for me) wasn't very linear. Instead of learning a little more each time I studied them, i typically made little progress and then had an 'a-ha' moment. To that end, seeing diverse examples really helped me out along the way - since seeing different implementation helped me have more a-ha's.
With respect to LINQ to Sql - Scott dedicates a good bit of the book to it. In fact, I think he may have dedicated a little too much to it. Not in the sense that other areas were left short b/c he covered L2S so in depth, but I have found that LINQ to sql is very limiting in many business respects and its use in a mulit-tier scenario (and for that matter, any time you can't keep a persistent connection open) really limits its usefulness. He covers the ins and outs of it and has a pretty decent demo application that's built throughout the chapter. THe coverage is extensive enough that you may walk away from it feeling like it'd be a great choice for your own business application - at least in my experience, I've found that may not be the best idea. Again though, it's not the author's fault there are those limitations and it'd be unfair to fault him for covering it too well.
THe book is big enough that he gives each area the attention it deserves so even though Linq 2 sql gets a lot of coverage, so does everythign else. There are copious examples throughout the book and they are all original enough that you can definitely get a full understanding of the issue at hand.
So if you're looking for a solid LINQ reference that covers all of the important aspects of LINQ - you'll like this book. If on the other hand, you are looking for a book that is absolutely non-discriminatory in its coverage of VB.NET (I'll note as well that at no time does this book present itself as though it covered each language equally) - well, learning LINQ is the last of your problems
Most everything else works.