Advanced C# Programming Training: Programming Extended Features

Course Outline

In this course, you will apply C# extended features, including definitive coverage Language Integrated Query (LINQ), to streamline the use of C# as both an object-oriented and a first-class data-manipulation language. C# is layered on top of Microsoft’s highly successful .NET Framework. With the advent of Core, the extra dimensions of portability and openness have been added. As a result, different language features are required to effectively leverage the integration of programs with both .NET Framework and Core, including specialized C# keywords, advanced lambda expressions, extension methods, generic classes and delegates, universal functions, and anonymous types. In particular, to optimize data access, productivity, and overall application performance.

Advanced C# Programming Training: Programming Extended Features Benefits

  • Streamline data-centric applications with C# extended features and the Entity Framework (EF)
  • Integrate Microsoft Core with .NET Framework applications for high-performance data access
  • Exploit LINQ keywords and full-stack capabilities including queries, grouping and joins
  • Generate dynamic enumerations in developer-written generic classes
  • Leverage continued support with after-course one-on-one instructor coaching and computing sandbox

Advanced C# Programming Course Outline

Important Course Information

Prerequisites

  • 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

Module 1: Harnessing C# Language Features

Language shortcuts

  • Applying auto-implemented and lambda generated properties
  • Benefiting from dynamic and implied-type declaration

Streamlining program logic

  • Instantiating entity objects
  • Simplifying construction with object initializers

Module 2: Employing Extension Methods for Middle-Tier Data Manipulation

Filtering and ordering data with lambda expressions

  • Passing lambda expressions to methods (behavior vs. data)
  • Calling Count, Reverse, Union, Except and other extension methods

Applying extended features

  • Making code more flexible with delegates
  • Parameterizing delegates and lambda expressions
  • Streamlining code with Func<T,R> generic delegates

Module 3: Leveraging LINQ Query Keywords

Syntax and semantics

  • Coding LINQ queries
  • Filtering with from, where, orderby and group
  • Performing inner and outer joins

Iterating collections

  • Interfacing between C# and LINQ using IEnumerable<T> and IQueryable<T>
  • Issuing queries on entity and spatial types

Module 4: Attaching to Databases via the Entity Framework

Connecting to and reading from a database

  • Inheriting Core DbContext objects
  • Correlating entity classes and data tables
  • Executing stored procedures and table-valued functions

Object Relational Mapping

  • Employing code-first and database first mapping to generate entity classes
  • Optimizing complex mapping including many to many and database inheritance

Updating a database

  • Inserting, updating and deleting data when Core is integrated with .NET Framework
  • Error handling and exceptions
  • Committing and rolling back transactions

Module 5: Enumerations and Generic Classes

Dynamic Enumeration

  • Comparing IEnumerable<T> and IEnumerator<T>
  • The yield keyword

Module 6: Processing Data with LINQ Queries

Advanced LINQ techniques

  • Creating anonymous query results
  • Retrieving composite views using nested from clauses
Course Dates - North America
Course Dates - Europe
Attendance Method
Additional Details (optional)