Document transcript

LINQ not only changes how we build data access components with .NET, but also introduces newflexibility and expressiveness into the C# language. In this course we’ll

see how LINQ works at alanguage level, and also how to use LINQ with XML and the Entity Framework. We’ll look at thetradeoffs to evaluate when building a data access layer with LINQ, talk about LINQ in the contextof specific design patterns, and use LINQ features in a domain to implement better business logic.

Sparkles BVBA–

BE0811.108.159–

KBC 733-0567754-43

Format

This course is a combination of lectures and hands–on labs. Required software includes VisualStudio, SQL Server 2008, and Microsoft Word.

Target Audience

Any .NET developer or architect would benefit greatly from this deep dive training on LINQ. Basicfamiliarity with C# 4.0 and system programming is recommended.

Date & Location

April

23

–

April

26, 2012

(4

days)

Belgium (TBD)

Sparkles BVBA–

BE0811.108.159–

KBC 733-0567754-43

Teacher

Scott

Allen

is the founder and Principal Consultant withOdeToCode

LLC. He is also a member of the Pluralsight technical staff. Scott hasover 16 years of commercial software development experience acrossa wide range of technologies. He has successfully delivered softwareproducts for embedded, Windows, and web platforms. Scott hasdeveloped web services for Fortune 50 companies and firmware forstartups. He is a published author in leading print and online technicaljournals, a podcaster, and a blogger. Scott Allen has been a speaker atnational and international conferences.

(useyour full name in the message) or use the IBAN code for international payment:IBAN

BE 66 73305677 5443 (BIC code: KREDBEBB).

Cancellation is possible up

to 3 weeks before the seminar-

if received in writing. In this case,25%of the total amount is charged for administration. Otherwise, the full registration fee is due,regardless of the reason of cancellation. Replacement is possible at no extra charge.

Sparkles BVBA–

BE0811.108.159–

KBC 733-0567754-43

Outline

Real World LINQ

Day 1



Hello LINQ

An introduction to Language Integrated Query. In this module, we’ll come to understand the motivations forLINQ and see some of the capabilities with a high level overview of various LINQ technologies



LINQ and C#

This module uncovers the secrets of LINQ’s implementation. By the end of the module you’ll understandhow lambda expressions work, the purpose of IQueryable<T>, and how to implement extension methods.We’ll also look at anonymous types, initializers, and the magic of the query comprehension syntax.

Day 2



Queries and Operators

This module demonstrates the full suite of LINQ standard operators, and demonstrates how to build acustom LINQ operator. We’ll see how to join, group, aggregate, and partition data, as well as see some tipsand tricks for writing efficient queries, and readable queries.



The Entity Framework Part I

This first module covering the Entity Framework will examine the different styles of working with EF, with afocus on code–first development. We’ll see how to query data using EF and understand the basic featuresprovided by the framework.

Day 3



The Entity Framework Part II

This second module digs deeper into the Entity Framework to understand the implications of the identitymap and unit of work design patterns when working with the framework. We’ll also see how to work withlazy–loading, change tracking, concurrency checks, and transactions.



TDD and the Entity Framework

This third module focuses on abstractions you’ll commonly encounter with working with an ORM in atestable application. We’ll see how to apply design patterns like repository and unit of work, how to buildtest doubles for EF data access classes.



LINQ to XML

LINQ to XML is a programmer friendly API for working with XML. We’ll see how the new API not onlyfacilitates querying uses the LINQ operators, but also providesa better API for the construction andmanipulation of XML. We’ll see functional construction techniques, how to work with XML schemas, XMLnamespaces, and how to integrate with XPATH.

Sparkles BVBA–

BE0811.108.159–

KBC 733-0567754-43

Day 4



Data Access and Architecturewith

LINQ

If you are building applications with LINQ there are a number of tradeoffs you need to evaluate from anarchitectural perspective. In this module we’ll talk about deferred execution and the important performancedistinction between Enumerable and Queryable data sources. We’ll also look at the decisions you need tomake when deciding on the flexibility, extensibility, performance, and maintainability of your applicationwhen using LINQ–able data sources like EF.



Internal DSLs and Fluent APIs with LINQ

The C# language and the .NET platform introduced many new features to support language integratedquery. In this session, we’ll look at using these LINQ related

features to build rich, intention revealing logic.We’ll dive into the magic of expression trees and use them to implement type–safe reflection, apply lambdaexpressions for a functional programming style, and use extension methods to build an internal DSL in C#.

Sparkles BVBA–

BE0811.108.159–

KBC 733-0567754-43

RegistrationReal World LINQ

Send registration form

topieter.gheysens@sparkles.be

or fax to +32 56 324372

Course Details

Date:April

23-26,2012

(4

days)

Location:Belgium

(TBD)

Teacher:Scott Allen

(OdeToCode)

Price:2000,-

euro (taxes not included)

–

early bird until January 1, 2012: 1800,-

euro

Registration Details

Name:

Function:

Company:

Address:

ZipCode +

City

+ Country:

Phone:

Fax:

Email:

Invoice for the attn. of:

Invoice address:

VAT number:

Date,Name and signature:

Invoice will be sent after registration.Payment details:KBC733-0567754-43

or IBANBE

66

7330

5677

5443

(BICcode:KREDBEBB).Cancellation

is possible up to 3 weeks before the seminar-

if received in writing. In this case,25%of the total amount ischarged. Otherwise, the full registration fee is due, regardless of the reason of cancellation.Replacement is possible at no extra charge.