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 Delivery Methods
Advanced C# Programming Course 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 accessExploit LINQ keywords and full-stack capabilities including queries, grouping and joinsGenerate 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
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
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
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
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
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
Dynamic Enumeration
- Comparing IEnumerable<T> and IEnumerator<T>
- The yield keyword
Advanced LINQ techniques
- Creating anonymous query results
- Retrieving composite views using nested from clauses