Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

O'Reilly logo
LINQ Unleashed for C#

Book Description

Foreword by Darryl Hogan, Architect Evangelist, Microsoft Corporation

Microsoft’s highly anticipated LINQ query technology makes it easy to retrieve any information programmatically from any data source, no matter where it comes from or how it’s stored. Using LINQ, developers can query objects, relational databases, XML documents, and ADO.NET datasets--and do it all directly from C# 3.0, leveraging the powerful capabilities of LINQ.

This is a definitive guide to getting real-world results with LINQ, using C# 3.0 and Visual Studio 2008. In LINQ Unleashed, Microsoft MVP Paul Kimmel covers every facet of LINQ programming, showing how LINQ can help you dramatically improve your productivity and build more reliable, maintainable applications.

Kimmel begins by reviewing the state-of-the-art C# programming techniques LINQ uses, including anonymous types, partial methods, and Lambda expressions. Next, using realistic examples and easy-to-adapt sample code, he details the most powerful new LINQ techniques for accessing objects, databases, and XML. You’ll gain a deep and practical understanding of how LINQ works “under the hood”--and learn how to do everything from selecting data through integrating XML with other data models.

  • Build efficient LINQ queries to .NET objects, SQL databases, and XML content

  • Utilize anonymous types to reduce design time, coding effort, and debugging time

  • Automatically generate .NET state machines with the new yield return construct

  • Master LINQ query syntax, operators, extension methods, sorting, grouping, aggregate and set operations, and more

  • Make the most of select--and use it in the business layer of your n-tier applications

  • Query relational data stored in Microsoft SQL Server

  • Use nullable types to eliminate unnecessary database access plumbing code

  • Use LINQ with ADO.NET 3.0 and Microsoft’s powerful new Entity Framework

  • Extract XML data without the hassles or complexity of XPath

  • Automatically construct XML from CSV files and other non-XML data

  • Query Active Directory by extending LINQ

Introduction  1

Part I     Getting Ready for LINQ

       1     Programming with Anonymous Types 5

       2     Using Compound Type Initialization  29

       3     Defining Extension and Partial Methods  61

       4     yield return: Using .NET’s State Machine Generator  85

       5     Understanding Lambda Expressions and Closures  97

       6     Using Standard Query Operators  121

Part II    LINQ for Objects

       7     Sorting and Grouping Queries 137

       8     Using Aggregate Operations 151

       9     Performing Set Operations  167

       10   Mastering Select and SelectMany  185

       11   Joining Query Results  211

       12   Querying Outlook and Active Directory  239

Part III   LINQ for Data

       13   Querying Relational Data with LINQ 265

       14   Creating Better Entities and Mapping Inheritance and Aggregation  289

       15   Joining Database Tables with LINQ Queries  309

       16   Updating Anonymous Relational Data  349

       17   Introducing ADO.NET 3.0 and the Entity Framework  383

Part IV  LINQ for XML

       18   Extracting Data from XML 415

       19   Comparing LINQ to XML with Other XML Technologies  437

       20   Constructing XML from Non-XML Data  453

       21   Emitting XML with the XmlWriter  463

       22   Combining XML with Other Data Models  469

       23   LINQ to XSD Supports Typed XML Programming  485