Course CSH102
Advanced C# Programming
Advanced C# Programming
Duration: 5 Days
Course Synopsis
This course aims to explore various practical aspects of C# and .NET framework programming that are not normally covered in standard C# programming courses. Usually delivered on site it can be tailored to concentrate more on some topics rather than others.
Course Objectives
Areas explored in this course include
- Complex data processing utilising extended features of the Entity Framework (EF)
- Creative use of Lambda expressions and extension methods
- Advanced data processing, including XML processing, using LINQ
- Realising complex transfer logic via generic Func<T,R> delegates
- Exploiting the power of dynamic enumeration generation using IEnumerable<T> within custom generic classes
The course is aimed at
- Programmers who already know C# and who wish to further develop their C# and .NET programming skills.
Publicly scheduled dates, locations, and prices
A schedule of dates for this subject is not currently available. Please call Ajay Patel on 02086471939 to enquire about places and availability.
Course Outline
Intensive overview of C# and .NET
- Overview of core C# and .NET
- .NET data access technologies
- Interfaces
- Generic and nongeneric collections
Useful C# Idioms based on
- C# language shortcuts and features such as
- Autoimplemented properties
- Implied type declaration
- Object initialisers
- Anonymous object construction
- Lambda expressions
- Extension methods - Count, Reverse, Union, Except ...
- Delegates
- Parameterising delegates
- Func<T,R> generic delegates
LINQ in Depth
- ADO.NET compared with LINQ
- DataSet objects vs. generic lists
- SqlDataReader vs. IEnumerable<T>
- Conecting to and retrieving data from a database
- ObjectContext
- Attaching to a database via EntityFramework (EF)
- Correlating data tables with corresponding entity classes
- Object Relational Design Tool
- Mapping entity classes to database tables
- Capturing inheritance relationships
- Importing Stored Procedures
- Updates and Transactions
- Inserts, updates and deletes
- Exception and error handling
- Transaction processing - commits and rollbacks
- Complex queries
- aggregation using group
- Inner, outer and group joins
- Using the into clause to generate data subsets
- Anonymous query results
- Composite vie and nested from clauses
- Parsing XML documents using LINQ
