Preferred method of contact:

Programming C# Extended Features



Course Number



4 Days

PDF Add to WishList

Apply C# extended features, including LINQ and EF, to effectively integrate object-oriented and data-manipulation capabilities. In this training course, you will use specialised C# keywords and language features, such as lambda expressions, extension methods, generic classes and delegates, universal functions, and anonymous types, to optimise your data access, productivity, and application performance.

You Will Learn How To

  • Streamline data-centric applications with C# extended features and the Entity Framework (EF)
  • Apply lambda expressions and extension methods
  • Exploit LINQ keywords to filter and order data
  • Generate dynamic enumerations in developer-written generic classes

Important Course Information

  • Recommended Experience

    • Knowledge at the level of:
    • You should know how to:
      • Construct, compile, and execute C# Windows Forms and/or Web applications using the Visual Studio integrated environment
      • Design and implement a modestly complex (1000+ lines) program in the C# language
      • Apply solid object-oriented development techniques, including encapsulation, inheritance, interfaces, and polymorphism
      • Produce applications that employ key parts of the .NET framework library
  • Software

    • This course uses Visual Studio 2013, but is useful to those using an earlier version

Course Outline

  • Introduction
  • Existing data-access technologies
  • Generic and nongeneric collections
  • Harnessing C# Language Features

Language shortcuts

  • Applying auto-implemented properties
  • Benefiting from implied-type declaration

Streamlining program logic

  • Instantiating entity objects
  • Simplifying construction with object initialisers
  • Employing Extension Methods for Middle-Tier Data Manipulation

Filtering and ordering data with lambda expressions

  • Comparing delegates and lambda expressions
  • Calling Count, Reverse, Union, Except and other extension methods

Applying extended features

  • Making code more flexible with delegates
  • Parameterising delegates and lambda expressions
  • Streamlining code with Func<T,R> generic delegates
  • Leveraging LINQ Query Keywords

Syntax and semantics

  • Coding LINQ queries
  • Ordering data and objects
  • Filtering with from, where, orderby and group

Iterating collections

  • Interfacing between C# and LINQ using IEnumerable<T>
  • Issuing queries on entity and spatial types
  • Attaching to Databases via the Entity Framework

Comparing ADO.NET with LINQ

  • DataSet objects vs. generic lists
  • SqlDataReader vs. IEnumerable<T>
  • Implementing accessors to separate the data tier

Connecting to and reading from a database

  • Establishing an ObjectContext and DbContext objects
  • Correlating entity classes and data tables
  • Executing stored procedures and table-valued functions

The Object Relational Designer tool

  • Mapping data tables to entity classes (table-first) and object models to database tables (code-first)
  • Inheriting with many-per-table and table-per-type (TPT)

Updating a database

  • Inserting, updating and deleting data
  • Error handling and exceptions
  • Committing and rolling back transactions
  • Enumerations and Generic Classes

Examining enum

  • Comparing IEnumerable<T> and IEnumerator<T>
  • Generating dynamic enumeration
  • The yield keyword

Writing generic classes

  • Reducing duplicate classes
  • Implementing a generic fast enumerator
  • Processing Data with LINQ Queries

Manipulating data

  • Combining and aggregating similar data with group
  • Performing inner, outer and group joins
  • Generating data subsets with the into clause

Advanced LINQ techniques

  • Creating anonymous query results
  • Retrieving composite views using nested from clauses
  • Issuing LINQ geographic/geometric queries on spatial types
  • Applying LINQ to XML

Processing XML

  • Loading XML dynamically via the web
  • Creating and saving XElement content
  • Parsing documents, elements and attributes
  • Walking an XML document using LINQ
Show complete outline
Show Less

Convenient Ways to Attend This Instructor-Led Course

Hassle-Free Enrolment: No advance payment required to reserve your seat.
Tuition Fee due 30 days after you attend your course.

In the Classroom

Live, Online

Private Team Training

In the Classroom — OR — Live, Online

Tuition Fee — Standard: £2095  

AFTERNOON START: Attend these live courses online via Anyware

24 - 26 Sep ( 4Day)
2:00 PM - 9:30 PM BST
Herndon, VA / Online (AnyWare) Herndon, VA / Online (AnyWare) Reserve Your Seat

6 - 8 Nov ( 4Day)
2:00 PM - 9:30 PM GMT
New York / Online (AnyWare) New York / Online (AnyWare) Reserve Your Seat

8 - 10 Jan ( 4Day)
2:00 PM - 9:30 PM GMT
Herndon, VA / Online (AnyWare) Herndon, VA / Online (AnyWare) Reserve Your Seat

12 - 14 Feb ( 4Day)
2:00 PM - 9:30 PM GMT
Alexandria, VA / Online (AnyWare) Alexandria, VA / Online (AnyWare) Reserve Your Seat

29 Apr - 1 May ( 4Day)
2:00 PM - 9:30 PM BST
New York / Online (AnyWare) New York / Online (AnyWare) Reserve Your Seat

Guaranteed to Run

When you see the "Guaranteed to Run" icon next to a course event, you can rest assured that your course event — date, time, location — will run. Guaranteed.

Private Team Training

Enrolling at least 3 people in this course? Consider bringing this (or any course that can be custom designed) to your preferred location as a private team training.

For details, call 0800 282 353 or Click here »

This event has been added to your cart.

Tuition Fee


In Classroom or



Private Team Training

Contact Us »

Course Tuition Fee Includes:

After-Course Instructor Coaching
When you return to work, you are entitled to schedule a free coaching session with your instructor for help and guidance as you apply your new skills.

After-Course Computing Sandbox
You'll be given remote access to a preconfigured virtual machine for you to redo your hands-on exercises, develop/test new code, and experiment with the same software used in your course.

Free Course Exam
You can take your Learning Tree course exam on the last day of your course or online any time after class.


Training Hours

Standard class hours:
9:00 a.m. - 4:30 p.m.

Last day class hours:
9:00 a.m. - 3:30 p.m.

Free Course Exam – Last Day:
3:30 p.m. - 4:30 p.m.

Each class day:
Informal discussion with instructor about your projects or areas of special interest:
4:30 p.m. - 5:30 p.m.

AFTERNOON START class hours:
2:00 p.m. - 9:30 p.m.

Last day class hours:
2:00 p.m. - 8:30 p.m.

Free Course Exam – Last Day:
8:30 p.m. - 9:30 p.m.

Each class day:
Informal discussion with instructor about your projects or areas of special interest
9:30 p.m. - 10:30 p.m.

“The instructor for C# Extended Features was exceptionally effective in his use of examples and presentation of the material … After taking this course, I feel prepared for the expansion of my programming duties at work and will be using .NET as the primary language for applications”.

- M. Accetta, Senior Programmer
Premier Guest Services

Chat Now

Please Choose a Language

Canada - English

Canada - Français