OverviewThis is the Safari online edition of the printed book.
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
Index