Learning Goals
LINQ is Microsoft its .NET 3.5/4.0 Framework for working with databases, XML
documents and .NET collections in a uniform way. This course introduces LINQ but
also dives deep into all LINQ features: you will learn how to write queries, how
to update data and how to work with the Object Relational Mapper included with LINQ.
Target Audience
This course targets professional C# or VB.NET programmers who are well
experienced with .NET and who are interested to learn about the new programming models of
Visual Studio 2008/2010 and LINQ.
Prerequisites
Good knowledge is required of Visual Studio and .NET. Participants should be
in particular familiar with delegates and Generics.
Course Outline
Introducing LINQ
- What is LINQ?
- Introducing the LINQ query
- Looking at the different implementations of LINQ
- Extending LINQ
- The LINQ project
Preparing for LINQ
- Extension methods
- Lambda expressions and functional programming
- Anonymous types
- Extension methods inside the Enumerable class
- Using the Func delegates
- Introduction to Expression trees
Writing queries with LINQ
- The complete query syntax
- Using query or method syntax for writing queries
- Basic query operators from and where
- Deferred query evaluation
- Grouping
- Using joins
Advanced query operators in LINQ
- Set operators
- Aggregate operators
- Generation operators
- Quantifiers operators
- Partitioning operators
- Element operators
- Let operator
- Other operators
LINQ to SQL
- Querying DataSets
- Defining the object model
- What about IQueryable<T>
- Code generation in Visual Studio
- Using object identity
- Eager loading
- Inserting, updating and deleting data
- Using stored procedures and functions in combination with LINQ
- Solving concurrent updates
- Compiling queries to increase performance
LINQ to XML
- Generating XML with the new X* classes
- Querying XML with LINQ
- Transforming XML with LINQ instead of XSLT
- Combining LINQ to XML with LINQ to Objects
- Using VB's improvements for XML
The Entity Framework
- The need for Object Relational Mapping
- The Entity-Data model
- Generating the model from the database schema
- Defining Entities and Relationships
- Supporting Inheritance and complex-types
- Using the Mapping Provider
- Using Entity SQL
- Building queries with LINQ to Entities
- Working with Object Services
- POCO support
- Using the Model First approach
ADO.NET Data Services
- Exposing your data through RESTful services
- Consuming data with LINQ
- Saving your changes back to the database
- Validation and access control
|