Learning and Training Learning


LINQ – Language Integrated Query

This training course cycle is designed for mastering the data handling technology named LINQ, which is embedded into C# 3.0.
Mastering the LINQ course would pave the way toward writing structured queries to local collections and remote data sources secure in terms of the typification.
 
During this training course, the participants will learn how to:
  • understand the purpose of LINQ and make use of all the possible methods of accessing data from various sources
  • handle XML and perform serialization
  • process changes in data extracted from the database
  • understand differences of models, handle LINQ to SQL and LINQ to Entities
  • use LINQ for connecting data to the user control interface using existing libraries, such as ASP.NET, Windows Forms;
  • run parallel queries
  • Program applications handling data rapidly and efficiently regardless the data source (XML, SQL, DataSet or just an array in the memory).
​The training course is intended for developers of .NET applications, and programmers willing to work with databases and write structured queries.


About the Training Course

This training course covers in detail all LINQ-related issues starting from the LINQ object model, operations and API interfaces LINQ to Objects, LINQ to XML, LINQ to DataSet, LINQ to SQL and LINQ to Entities up to the solution of parallel access conflicts and working with database views.
 
The course material presentation methodology makes it possible to study rapidly the newest methods of access to data from various sources, including SQL Server, and options for handling XML on real-life examples.
 
The training course covers the following subjects:
  • familiarization with LINQ language as the key means of access to data and a convenient component for handling databases
  • sequential and standard query operations, examples of using postponed and non-postponed operations
  • the LINQ to XML model, various examples of creation, input/output, modification, pass, event, XML serialization
  • using LINQ for uploading data into the DataSet and the reverse extraction thereof, principles of writing queries. Handling DataTable, DataView, DataRow, string comparison operations
  • composition of SQL database queries, creation of storable procedures
  • modelling data from Entity Framework. Handling .edmx files, key principles of handling entity classes and their inheritance. Examples of creation of storable procedures
  • purpose and application of PLINQ, examples of writing and executing parallel LINQ operators.


Module 1: 1 day

  • LINQ as integrated query language
  • LINQ to Object
  • LINQ to XML
  • LINQ to DataSet


Module 2: 1 day

  • LINQ to SQL. Data management
  • LINQ to Entities
  • Parallel LINQ
 

ADO.NET

This training cycle is focused on mastering key tools for the development of software to work with various databases, and the review of database protection principles and connections to databases with various levels of access authority.
 
During the training course, participants will study the object views of tables in their programs, the connection to databases, the sending of queries, the creation of samples, the handling of transactions; they will also learn how to:
  • understand the purpose of LINQ and make use of all the possible methods of accessing data from various sources
  • make use of their skills to deal with an SQL database
  • create applications that will get data from the database and modify records in it
  • understand major principles of the invocation of data sources that can be of use for the development of an application of any type
  • properly configure the interaction between tables and organize the migration between them correctly
  • create a connection pool
  • apply various methods and properties to process information in the table
  • create and invoke storable procedures, use transactions
  • organize data exchange between several applications by launching appropriate services.
 This training course is intended for successful graduates of our C# Basic course, and developers experienced in developing applications in C#, who would like to use ADO.NET as their principal tool for the database access.


About the Training Course

No modern application can operate without storing data. For this reason, the access to external data sources and their application are one of the most difficult applied problems to be solved during the development of applications. 
 
The following issues are discussed in detail in the core section of this course: Connection object, connection pool, Command object and its ExecuteNonQuery, ExecuteScalar and ExecuteReader methods, application of transactions, DataSet, DataTable and DataColumn objects, filtration, sorting and data search, output of linked tables, creation and use of a typified DataSet object, reading and writing XML documents, committing changes into a database using parameters of Command objects, transactions and CommandBuilder object, properties, methods of DataAdapter and DataSet objects, introduction to XML web services.
 
Examples of work with Microsoft Access and Microsoft SQL 2008 database management systems and fundamental principles of writing SQL queries will be covered during the lessons. Examples of storable procedures and their application in ADO.NET are provided.


Module 1: 1 day

Architecture of the ADO.NET technology, switched part of the architecture
  • Review of the architecture of the ADO.NET technology
  • Providers for the obtainment of data from a database. SQL Server .NET Data Provider
  • Connection strings Creating and handling connection strings SQLConnection object
  • Storing connection strings in the configuration file
  • Connection string security. ConnectionStringBuilder object
  • Notion of a connection pool. Using a connection pool
Acquisition of data. SqlCommand object. Handling parameterized queries
  • SqlCommand object. Creating SqlCommand objects
  • Execution of insertion, modification, deletion and data retrieval commands
  • Introduction to SqlDataReader object. Various methods of retrieving query data using a SqlDataReader object
  • Execution of packet queries
  • Asynchronous execution of commands on an example of a WinForms application
  • Handling null values in the database
  • Creating and executing parameterized queries
  • Security of parameterized queries. Using SqlParameter object
  • Execution of storable procedures using an SqlCommand object
Disconnected part of the architecture. DataColumn, DataTable objects
  • Creating DataColumn and DataTable objects
  • Introduction DataRow object. Adding strings to a table, modifying strings
  • Using SqlDataReader object to create a scheme of the DataTable object
  • Using SqlDataReader object to retrieve data and write the into a DataTable object
  • ReadOnly, AllowDBNull, MaxLength, Unique properties of a DataColumn object
  • ForeignKeyConstraint, PrimaryKey limitations of a Datatable object
  • Creating expression-based columns
Disconnected part of the architecture. DataRow, DataSet and DataAdapter objects
  • RowState property of a DataRow object
  • Reviewing postponed changes, using RowState property of a DataRow object
  • Handling DataRowVersion enumeration
  • Data search and filtration in a DataSet object
  • DataAdapter object. Creating a TableAdapter object
  • Retrieving data using a TableAdapter object
  • Capabilities of TableAdapter for the retrieval of the database scheme
  • Mapping names of DataTable objects to table names in a database
  • DataTableMapping, DataColumnMapping objects


Module 2: 1 day

Handling relational data. DataRelation object
  • Introduction to DataRelation object. Creating DataRelation objects
  • Retrieving child rows using GetChildRows() method
  • Retrieving parent rows using GetParentRows() method
  • Implementation of the self-to-self relationship. Retrieving data from a table with a self-to-self relationship.
  • Many-to-many relationship. Practical examples of data retrieval from linked tables
  • Using links to create calculable fields in a DataTable object
  • Specifying rules for deletion and modification of rows in a parent table
  • DeleteRule and UpdateRule properties of a ForeignKeyConstraint object
  • Using a RowState enumeration to obtain linked information from rows prepared for deletion
Filtering, changing and sorting data. DataView object
  • Advantages of using a DataView object
  • Primary key search in a DataTable object Find() method
  • Creating and using a filter for a DataTable object Select() method
  • Introduction to the DataView object. Creating a DataView object
  • DataView object sorting and filtration capabilities
  • DataViewRowState enumeration. Using enumerations
  • DataViewRowState together with the DataView object
  • Search for data in a table using Find method
  • Adding, editing and deleting data using DataView
  • Possibilities of creating DataTable objects using DataView object
DataSet object with a strict type control
  • General information about a DataSet object with a strict type control
  • Advantages and disadvantages of handling a strictly typified DataSet
  • Methods of Creating a DataSet with a strict type control
  • Possibilities of adding, searching for, and editing data using strictly typified DataSet
  • TableAdapter object. Creating a TableAdapter object
  • Using a TableAdapter object
Input of updates
  • Problems and possible methods of implementation of the input of updates into the database
  • Creating parameterized commands for the input of updates into the database
  • Delete, insert and update commands
  • Opportunities offered by the SqlDataAdapter object for the input of postponed changes
  • InsertCommand, DeleteCommand, UpdateCommand properties of the SqlDataAdapter object
  • SqlCommandBuilder object. Using SqlCommandBuilder object to generate data deletion, update and insertion commands
  • Mechanism of command generation by the SqlCommandBuilder object
  • Input of updates in SqlTransaction objects

Entity Framework

This training course cycle is designed for mastering the Entity Framework technology to handle databases in .Net.
 
During this training course, the participants will learn how to:
  • understand the purpose of LINQ and make use of all the possible methods of accessing data from various sources
  • generate Entity Data Model
  • use DataBase First, Code first approaches
  • handle and modify entities
  • manipulate data in the database using entities and LINQ
  • handle errors.


About the Training Course

Entity Framework allows developers to gain access to data using a conceptual object model, rather than using a relational database directly.
 
The goal of this approach is to reduce the amount of code to be written to gain access to the database, and the time for support of objects in applications that handle data.
 
The training course covers the following subjects:
  • key notions, opportunities and development using Entity Framework
  • Entity Data Model designer—overview, code generation
  • LINQ 2 basics
  • Entity Framework Code-First technology.
​This training course is intended for programmers fluent in C# and skilled in working with ADO.NET technology.


Module 1: 1 day

Introduction to EF
  • Potential and key notions of EF
  • Approaches toward development using EF (DB first, code first)
  • Comparison with other technologies (ADO.NET, DataSet, LINQ 2 SQL)
Overview of the Entity Data Model
  • Overview of the EDM designer
  • Code generation from the EDM
  • Data modification in the database
LINQ 2 basics
  • Selection, filtration and sorting operators
  • Merging sub-query results
  • Projection of query results, anonymous types
Code First style
  • Overview of the EF Code First technology
  • POCO
  • Code-First conventions
  • Attributes in EF Code First
  • Code-First Fluent API

This training course cycle is designed for mastering the data handling technology named LINQ, which is embedded into C# 3.0.
Mastering the LINQ course would pave the way toward writing structured queries to local collections and remote data sources secure in terms of the typification.
 
During this training course, the participants will learn how to:
  • understand the purpose of LINQ and make use of all the possible methods of accessing data from various sources
  • handle XML and perform serialization
  • process changes in data extracted from the database
  • understand differences of models, handle LINQ to SQL and LINQ to Entities
  • use LINQ for connecting data to the user control interface using existing libraries, such as ASP.NET, Windows Forms;
  • run parallel queries
  • Program applications handling data rapidly and efficiently regardless the data source (XML, SQL, DataSet or just an array in the memory).
​The training course is intended for developers of .NET applications, and programmers willing to work with databases and write structured queries.


About the Training Course

This training course covers in detail all LINQ-related issues starting from the LINQ object model, operations and API interfaces LINQ to Objects, LINQ to XML, LINQ to DataSet, LINQ to SQL and LINQ to Entities up to the solution of parallel access conflicts and working with database views.
 
The course material presentation methodology makes it possible to study rapidly the newest methods of access to data from various sources, including SQL Server, and options for handling XML on real-life examples.
 
The training course covers the following subjects:
  • familiarization with LINQ language as the key means of access to data and a convenient component for handling databases
  • sequential and standard query operations, examples of using postponed and non-postponed operations
  • the LINQ to XML model, various examples of creation, input/output, modification, pass, event, XML serialization
  • using LINQ for uploading data into the DataSet and the reverse extraction thereof, principles of writing queries. Handling DataTable, DataView, DataRow, string comparison operations
  • composition of SQL database queries, creation of storable procedures
  • modelling data from Entity Framework. Handling .edmx files, key principles of handling entity classes and their inheritance. Examples of creation of storable procedures
  • purpose and application of PLINQ, examples of writing and executing parallel LINQ operators.


Module 1: 1 day

  • LINQ as integrated query language
  • LINQ to Object
  • LINQ to XML
  • LINQ to DataSet


Module 2: 1 day

  • LINQ to SQL. Data management
  • LINQ to Entities
  • Parallel LINQ
 

This training cycle is focused on mastering key tools for the development of software to work with various databases, and the review of database protection principles and connections to databases with various levels of access authority.
 
During the training course, participants will study the object views of tables in their programs, the connection to databases, the sending of queries, the creation of samples, the handling of transactions; they will also learn how to:
  • understand the purpose of LINQ and make use of all the possible methods of accessing data from various sources
  • make use of their skills to deal with an SQL database
  • create applications that will get data from the database and modify records in it
  • understand major principles of the invocation of data sources that can be of use for the development of an application of any type
  • properly configure the interaction between tables and organize the migration between them correctly
  • create a connection pool
  • apply various methods and properties to process information in the table
  • create and invoke storable procedures, use transactions
  • organize data exchange between several applications by launching appropriate services.
 This training course is intended for successful graduates of our C# Basic course, and developers experienced in developing applications in C#, who would like to use ADO.NET as their principal tool for the database access.


About the Training Course

No modern application can operate without storing data. For this reason, the access to external data sources and their application are one of the most difficult applied problems to be solved during the development of applications. 
 
The following issues are discussed in detail in the core section of this course: Connection object, connection pool, Command object and its ExecuteNonQuery, ExecuteScalar and ExecuteReader methods, application of transactions, DataSet, DataTable and DataColumn objects, filtration, sorting and data search, output of linked tables, creation and use of a typified DataSet object, reading and writing XML documents, committing changes into a database using parameters of Command objects, transactions and CommandBuilder object, properties, methods of DataAdapter and DataSet objects, introduction to XML web services.
 
Examples of work with Microsoft Access and Microsoft SQL 2008 database management systems and fundamental principles of writing SQL queries will be covered during the lessons. Examples of storable procedures and their application in ADO.NET are provided.


Module 1: 1 day

Architecture of the ADO.NET technology, switched part of the architecture
  • Review of the architecture of the ADO.NET technology
  • Providers for the obtainment of data from a database. SQL Server .NET Data Provider
  • Connection strings Creating and handling connection strings SQLConnection object
  • Storing connection strings in the configuration file
  • Connection string security. ConnectionStringBuilder object
  • Notion of a connection pool. Using a connection pool
Acquisition of data. SqlCommand object. Handling parameterized queries
  • SqlCommand object. Creating SqlCommand objects
  • Execution of insertion, modification, deletion and data retrieval commands
  • Introduction to SqlDataReader object. Various methods of retrieving query data using a SqlDataReader object
  • Execution of packet queries
  • Asynchronous execution of commands on an example of a WinForms application
  • Handling null values in the database
  • Creating and executing parameterized queries
  • Security of parameterized queries. Using SqlParameter object
  • Execution of storable procedures using an SqlCommand object
Disconnected part of the architecture. DataColumn, DataTable objects
  • Creating DataColumn and DataTable objects
  • Introduction DataRow object. Adding strings to a table, modifying strings
  • Using SqlDataReader object to create a scheme of the DataTable object
  • Using SqlDataReader object to retrieve data and write the into a DataTable object
  • ReadOnly, AllowDBNull, MaxLength, Unique properties of a DataColumn object
  • ForeignKeyConstraint, PrimaryKey limitations of a Datatable object
  • Creating expression-based columns
Disconnected part of the architecture. DataRow, DataSet and DataAdapter objects
  • RowState property of a DataRow object
  • Reviewing postponed changes, using RowState property of a DataRow object
  • Handling DataRowVersion enumeration
  • Data search and filtration in a DataSet object
  • DataAdapter object. Creating a TableAdapter object
  • Retrieving data using a TableAdapter object
  • Capabilities of TableAdapter for the retrieval of the database scheme
  • Mapping names of DataTable objects to table names in a database
  • DataTableMapping, DataColumnMapping objects


Module 2: 1 day

Handling relational data. DataRelation object
  • Introduction to DataRelation object. Creating DataRelation objects
  • Retrieving child rows using GetChildRows() method
  • Retrieving parent rows using GetParentRows() method
  • Implementation of the self-to-self relationship. Retrieving data from a table with a self-to-self relationship.
  • Many-to-many relationship. Practical examples of data retrieval from linked tables
  • Using links to create calculable fields in a DataTable object
  • Specifying rules for deletion and modification of rows in a parent table
  • DeleteRule and UpdateRule properties of a ForeignKeyConstraint object
  • Using a RowState enumeration to obtain linked information from rows prepared for deletion
Filtering, changing and sorting data. DataView object
  • Advantages of using a DataView object
  • Primary key search in a DataTable object Find() method
  • Creating and using a filter for a DataTable object Select() method
  • Introduction to the DataView object. Creating a DataView object
  • DataView object sorting and filtration capabilities
  • DataViewRowState enumeration. Using enumerations
  • DataViewRowState together with the DataView object
  • Search for data in a table using Find method
  • Adding, editing and deleting data using DataView
  • Possibilities of creating DataTable objects using DataView object
DataSet object with a strict type control
  • General information about a DataSet object with a strict type control
  • Advantages and disadvantages of handling a strictly typified DataSet
  • Methods of Creating a DataSet with a strict type control
  • Possibilities of adding, searching for, and editing data using strictly typified DataSet
  • TableAdapter object. Creating a TableAdapter object
  • Using a TableAdapter object
Input of updates
  • Problems and possible methods of implementation of the input of updates into the database
  • Creating parameterized commands for the input of updates into the database
  • Delete, insert and update commands
  • Opportunities offered by the SqlDataAdapter object for the input of postponed changes
  • InsertCommand, DeleteCommand, UpdateCommand properties of the SqlDataAdapter object
  • SqlCommandBuilder object. Using SqlCommandBuilder object to generate data deletion, update and insertion commands
  • Mechanism of command generation by the SqlCommandBuilder object
  • Input of updates in SqlTransaction objects

This training course cycle is designed for mastering the Entity Framework technology to handle databases in .Net.
 
During this training course, the participants will learn how to:
  • understand the purpose of LINQ and make use of all the possible methods of accessing data from various sources
  • generate Entity Data Model
  • use DataBase First, Code first approaches
  • handle and modify entities
  • manipulate data in the database using entities and LINQ
  • handle errors.


About the Training Course

Entity Framework allows developers to gain access to data using a conceptual object model, rather than using a relational database directly.
 
The goal of this approach is to reduce the amount of code to be written to gain access to the database, and the time for support of objects in applications that handle data.
 
The training course covers the following subjects:
  • key notions, opportunities and development using Entity Framework
  • Entity Data Model designer—overview, code generation
  • LINQ 2 basics
  • Entity Framework Code-First technology.
​This training course is intended for programmers fluent in C# and skilled in working with ADO.NET technology.


Module 1: 1 day

Introduction to EF
  • Potential and key notions of EF
  • Approaches toward development using EF (DB first, code first)
  • Comparison with other technologies (ADO.NET, DataSet, LINQ 2 SQL)
Overview of the Entity Data Model
  • Overview of the EDM designer
  • Code generation from the EDM
  • Data modification in the database
LINQ 2 basics
  • Selection, filtration and sorting operators
  • Merging sub-query results
  • Projection of query results, anonymous types
Code First style
  • Overview of the EF Code First technology
  • POCO
  • Code-First conventions
  • Attributes in EF Code First
  • Code-First Fluent API