Advanced C# Programming Training: Programming Extended Features
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