Apress

Pro LINQ in VB8

Language Integrated Query in VB 2008

By Joseph Rattz , Dennis Hayes

Pro LINQ in VB8 Cover Image

Starting with code and ending with code and tailored for the VB language, Pro LINQ: Language Integrated Query in VB 2008 is a veritable treasury of LINQ examples that will save you hours, even days, of research time.

Full Description

  • ISBN13: 978-1-4302-1644-5
  • User Level: Intermediate to Advanced
  • Publication Date: August 9, 2009
  • Available eBook Formats: PDF
  • Print Book Price: $44.99
  • eBook Price: $31.99
Buy eBook Buy Print Book Add to Wishlist

Related Titles

Full Description

LINQ is the project name for a set of extensions to the .NET Framework that provide a generic approach to querying data from different data sources. LINQ made its debut in Visual Studio 2008, and became a must–have skill for .NET developers. For more information about LINQ, you can check out www.linqdev.com.

Starting with code and ending with code and tailored for the VB language, Pro LINQ: Language Integrated Query in VB 2008 is a veritable treasury of LINQ examples that will save you hours, even days, of research time. Keeping you focused on the relevant LINQ principles, expert author Joseph Rattz, Jr., and VB specialist Dennis Hayes provide examples for complex models that you won’t find anywhere else.

In most books, you’ll find plenty of simple examples to demonstrate how to use a method, but authors rarely show how to use the more complex prototypes. Pro LINQ: Language Integrated Query in VB 2008 is different. Demonstrating the overwhelming majority of LINQ operators and protoypes, Joseph Rattz, Jr., and Dennis Hayes condense their extensive experience and expertise into a desk companion that is essential for any serious .NET professional.

Rather than obscure the relevant LINQ principles in code examples by focusing on a demonstration application you have no interest in writing, this book cuts right to the chase of each LINQ operator, method, or class. However, where complexity is necessary to truly demonstrate an issue, the examples are right there in the thick of it. For example, code samples demonstrating how to handle concurrency conflicts actually create concurrency conflicts so you can step through the code and see them unfold.

Most books tell you about the simple stuff, while few books warn you of the pitfalls. Where Pro LINQ: Language Integrated Query in VB 2008 returns your investment is in the hours, and sometimes days, spent by the authors determining why something may not work as expected. Sometimes this results in an innocent–looking paragraph that may take you a minute to read and understand, but took days to research and explain.

Face it, most technical books while informative, are dull. LINQ need not be dull. Written with a sense of humor, this book will attempt to entertain you on your journey through the wonderland of LINQ and VB 2008.

What you’ll learn

  • How to leverage all the LINQ–relevant VB 2008 language features, including extension methods, lambda expressions, anonymous data types, and partial methods
  • How to use LINQ to Objects to query in–memory data collections such as arrays, ArrayLists, and Lists to retrieve the data you want
  • Why some queries are deferred, how a deferred query can bite you, and how you can make deferred queries work for you
  • How to use LINQ to XML to revolutionize your creation, manipulation, and searching of XML data
  • How to query DataSets with LINQ to DataSet so you can coexist with legacy code and use LINQ to query databases other than SQL Server
  • How to query databases with LINQ to SQL, write your own entity classes, and understand how to handle concurrency conflicts

Who this book is for

This book is written for the proficient VB developer, but you do not need to be up on all the latest VB features to understand the material.

Table of Contents

Table of Contents

  1. Hello LINQ
  2. VB.NET 2008 Language Enhancements for LINQ
  3. LINQ to Objects Introduction
  4. Deferred Operators
  5. Nondeferred Operators
  6. LINQ to XML Introduction
  7. The LINQ to XML API
  8. LINQ to XML Operators
  9. Additional XML Capabilities
  10. LINQ to DataSet Operators
  11. Additional DataSet Capabilities
  12. LINQ to SQL Introduction
  13. LINQ to SQL Tips and Tools
  14. LINQ to SQL Database Operations
  15. LINQ to SQL Entity Classes
  16. The DataContext
  17. Concurrency Conflicts
  18. Additional SQL Capabilities
Source Code/Downloads

Downloads are available to accompany this book.

Your operating system can likely extract zipped downloads automatically, but you may require software such as WinZip for PC, or StuffIt on a Mac.

Errata

If you think that you've found an error in this book, please let us know about it. You will find any confirmed erratum below, so you can check if your concern has already been addressed.

* Required Fields

On page 519:
Imports System.Linq
Imports System.Data.Linq
Imports LinqToSqlProjA.nwind
Module Main
Sub Main()
Dim db As New Northwind("Data Source=OCCDP-13649\SQLEXPRESS;Initial Catalog=Northwind;Integrated Security=SSPI")
Dim dlo As New DataLoadOptions
dlo.LoadWith(Of Customer)(Function(c) c.Orders)
dlo.LoadWith(Of Customer)(Function(c) c.CustomerCustomerDemos)
db.LoadOptions = dlo



Dim custs As IQueryable(Of Customer) = (From c In db.Customers _
Where c.Country = "UK" AndAlso c.City = "London" _
Order By c.CustomerID _
Select c)

db.Log = Console.Out

For Each cust As Customer In custs
Console.WriteLine("{0} - {1}", cust.CompanyName, cust.ContactName)
Next

End Sub
End Module


gives error:

Unable to cast object of type 'System.Data.Linq.DataQuery`1[LinqToSqlProjA.nwind.Customer]' to type 'System.Linq.IQueryable`1[LinqToSqlProjA.Customer]'.