Synopses & Reviews
Dig into LINQ -- and transform the way you work with data. With LINQ, you can query data from a variety of sources -- including databases, objects, and XML files -- directly from Microsoft Visual Basic or C#. Guided by data-access experts who've worked in depth with LINQ and the Microsoft development teams, you'll learn how .NET Framework 4 implements LINQ, and how to exploit it. Clear examples show you how to deliver your own data-access solutions faster and with leaner code.
Discover how to:
- Use LINQ to query databases, object collections, arrays, XML, Microsoft Excel files, and other sources
- Apply LINQ best practices to build data-enabled .NET applications and services
- Manipulate data in a relational database with ADO.NET Entity Framework or LINQ to SQL
- Read, write, and manage XML content more efficiently with LINQ to XML
- Extend LINQ to support additional data sources by creating custom operators and providers
- Examine other implementations, such as LINQ to SharePoint
- Use LINQ within the data, business, and service layers of a distributed application
- Get code samples on the Web
Synopsis
With LINQ, you can query data -- no matter what the source -- directly from Microsoft Visual Basic or C#. Guided by two data-access experts who've worked in depth with LINQ and the Microsoft development teams, you'll learn how Microsoft .NET Framework 4 implements LINQ, and how to exploit it. Study and adapt the book's examples, complete with code samples -- and deliver your own solutions faster and with leaner code.
- Query data from databases, object collections, XML, and more with LINQ
- Explore how LINQ works with Windows Communication Foundation, Windows Presentation Foundation, Microsoft Silverlight, Microsoft SharePoint, and ASP.NET
- Review best practices for data-enabled Web applications, Rich Internet Applications, and service development
- Query relational databases with LINQ to SQL or with Entity Framework to manage data, tables, views, and stored procedures
- Read, write, and manage XML content more efficiently with LINQ to XML
- Extend LINQ by creating custom operators and providers
Synopsis
Guided by two data-access experts who've worked in depth with LINQ and the Microsoft development teams, readers will learn how Microsoft .NET Framework 4 implements LINQ, and how to exploit it.
Synopsis
LINQ, Language INtegrated Query, is a new extension to the Visual Basic and C# programming languages designed to simplify data queries and database interaction. This comprehensive, fast-paced guide serves as a multi-purpose tutorial for professional developers.
Synopsis
With LINQ, you can query data -- no matter what the source -- directly from Microsoft Visual Basic or C#. Guided by two data-access experts who've worked in depth with LINQ and the Microsoft development teams, you'll learn how Microsoft .NET Framework 4 implements LINQ, and how to exploit it. Study and adapt the book's examples, complete with code samples -- and deliver your own solutions faster and with leaner code.
- Query data from databases, object collections, XML, and more with LINQ
- Explore how LINQ works with Windows Communication Foundation, Windows Presentation Foundation, Microsoft Silverlight, Microsoft SharePoint, and ASP.NET
- Review best practices for data-enabled Web applications, Rich Internet Applications, and service development
- Query relational databases with LINQ to SQL or with Entity Framework to manage data, tables, views, and stored procedures
- Read, write, and manage XML content more efficiently with LINQ to XML
- Extend LINQ by creating custom operators and providers
Synopsis
Get comprehensive guidance for using the Microsoft Language Integrated Query (LINQ) Projectwith in-depth insights from two experienced developers. Data-rich applications can be difficult to create because of the tremendous differences between query languages used to access data and the programming languages commonly used to write applications. This practical guide covers the intricacies of LINQ, a set of extensions to the Visual C# and Visual Basic programming languages. Instead of traversing different language syntaxes required for accessing data from relational and hierarchical data sources, developers will learn how to write queries natively in Visual C# or Visual Basichelping reduce complexity and boost productivity. Written by two experienced developers with strong ties to the developer teams at Microsoft, this book describes the LINQ architecture and classes, details the new language features in both Visual C# and Visual Basic, and provides code samples in both languages.
About the Author
Paolo Pialorsi is a consultant, trainer, and author who specializes in developing distributed applications architectures and Microsoft SharePoint enterprise solutions. He is a founder of DevLeap, a company focused on providing content and consulting to professional developers. Paolo wrote "Programming Microsoft LINQ" and "Introducing Microsoft LINQ" both published by Microsoft Press, and is the author of three books in Italian language about XML and Web Services. He is also a regular speaker at industry conferences.
Marco Russo is a founder of DevLeap. He is a regular contributor to developer user communities and is an avid blogger on Microsoft SQL Server Business Intelligence and other Microsoft technologies. Marco provides consulting and training to professional developers on the Microsoft .NET Framework and Microsoft SQL Server. He wrote "Programming Microsoft LINQ" and "Introducing Microsoft LINQ" with Paolo Pialorsi, "Expert Cube Development with Microsoft SQL Server 2008 Analysis Services" with Alberto Ferrari and Chris Webb, and is the author of two books in Italian about C# and the common language runtime.
Table of Contents
Preface; Acknowledgments; Introduction; Who Is This Book For?; Organization of This Book; Conventions and Features in This Book; System Requirements; The Companion Website; Find Additional Content Online; Errata & Book Support; We Want to Hear from You; Stay in Touch; Part I: LINQ Foundations; Chapter 1: LINQ Introduction; 1.1 What Is LINQ?; 1.2 Why Do We Need LINQ?; 1.3 How LINQ Works; 1.4 Language Integration; 1.5 LINQ Implementations; 1.6 Summary; Chapter 2: LINQ Syntax Fundamentals; 2.1 LINQ Queries; 2.2 Query Keywords; 2.3 Deferred Query Evaluation and Extension Method Resolution; 2.4 Some Final Thoughts About LINQ Queries; 2.5 Summary; Chapter 3: Linq to Objects; 3.1 Query Operators; 3.2 Conversion Operators; 3.3 Summary; Part II: LINQ to Relational; Chapter 4: Choosing Between LINQ to SQL and LINQ to Entities; 4.1 Comparison Factors; 4.2 When to Choose LINQ to Entities and the Entity Framework; 4.3 When to Choose LINQ to SQL; 4.4 Other Considerations; 4.5 Summary; Chapter 5: LINQ to SQL: Querying Data; 5.1 Entities in LINQ to SQL; 5.2 Data Modeling; 5.3 Data Querying; 5.4 Thinking in LINQ to SQL; 5.5 Summary; Chapter 6: LINQ to SQL: Managing Data; 6.1 CRUD and CUD Operations; 6.2 Database Interaction; 6.3 Databases and Entities; 6.4 Summary; Chapter 7: LINQ to SQL: Modeling Data and Tools; 7.1 File Types; 7.2 SQLMetal; 7.3 Using the Object Relational Designer; 7.4 Summary; Chapter 8: LINQ to Entities: Modeling Data with Entity Framework; 8.1 The Entity Data Model; 8.2 Associations and Foreign Keys; 8.3 Complex Types; 8.4 Inheritance and Conditional Mapping; 8.5 Modeling Stored Procedures; 8.6 POCO Support; 8.7 T4 Templates; 8.8 Summary; Chapter 9: LINQ to Entities: Querying Data; 9.1 EntityClient Managed Providers; 9.2 LINQ to Entities; 9.3 ObjectQuery<T> and ObjectContext; 9.4 Query Performance; 9.5 Summary; Chapter 10: LINQ to Entities: Managing Data; 10.1 Managing Entities; 10.2 Using ObjectStateManager and EntityState; 10.3 Managing Concurrency Conflicts; 10.4 Managing Transactions; 10.5 Detaching, Attaching, and Serializing Entities; 10.6 Using Self-Tracking Entities; 10.7 Summary; Chapter 11: LINQ to DataSet; 11.1 Introducing LINQ to DataSet; 11.2 Using LINQ to Load a DataSet; 11.3 Using LINQ to Query a DataSet; 11.4 Summary; Part III: LINQ to XML; Chapter 12: LINQ to XML: Managing the XML Infoset; 12.1 Introducing LINQ to XML; 12.2 LINQ to XML Programming; 12.3 Reading, Traversing, and Modifying XML; 12.4 Summary; Chapter 13: LINQ to XML: Querying Nodes; 13.1 Querying XML; 13.2 Understanding Deferred Query Evaluation; 13.3 Using LINQ Queries over XML; 13.4 Transforming XML with LINQ to XML; 13.5 Support for XSD and Validation of Typed Nodes; 13.6 Support for XPath and System.Xml.XPath; 13.7 Securing LINQ to XML; 13.8 Serializing LINQ to XML; 13.9 Summary; Part IV: Advanced LINQ; Chapter 14: Inside Expression Trees; 14.1 Lambda Expressions; 14.2 What Is an Expression Tree?; 14.3 Dissecting Expression Trees; 14.4 Visiting an Expression Tree; 14.5 Dynamically Building an Expression Tree; 14.6 Summary; Chapter 15: Extending LINQ; 15.1 Custom Operators; 15.2 Specialization of Existing Operators; 15.3 Creating a Custom LINQ Provider; 15.4 Summary; Chapter 16: Parallelism and Asynchronous Processing; 16.1 Task Parallel Library; 16.2 PLINQ; 16.3 Reactive Extensions for .NET; 16.4 Summary; Chapter 17: Other LINQ Implementations; 17.1 Database Access and ORM; 17.2 Data Access Without a Database; 17.3 LINQ to Services; 17.4 LINQ for System Engineers; 17.5 Dynamic LINQ; 17.6 Other LINQ Enhancements and Tools; 17.7 Summary; Part V: Applied LINQ; Chapter 18: LINQ in a Multitier Solution; 18.1 Characteristics of a Multitier Solution; 18.2 LINQ to SQL in a Two-Tier Solution; 18.3 LINQ in an n-Tier Solution; 18.4 LINQ in the Business Layer; 18.5 Summary; Chapter 19: LINQ Data Binding; 19.1 using LINQ with ASP.NET; 19.2 using LINQ with WPF; 19.3 using LINQ with Silverlight; 19.4 using LINQ with Windows Forms; 19.5 Summary;