MN317
Information technology

.NET: mastering data access and transactions

Optimize data persistence and ensure consistency of processing in your .NET applications.


Most .NET applications interact with databases, either SQL or NoSQL. Each option has technical advantages that must be evaluated according to the context. Data access mechanisms must be chosen and implemented taking into account performance, scalability, and consistency issues.
This training course allows participants to compare different data access strategies and implement robust transactions using the Unit of Work pattern. Through the use of technologies such as EntityFramework Core, Dapper, and ADO.NET, participants will learn how to structure an effective persistence layer, optimize queries, and monitor execution performance in a .NET environment.

Objectives

Be able to compare and implement data access and transaction management strategies from a .NET application.

Is it for you ?

Software developers and architects working on .NET projects that require effective data management.

Prerequisite

This course requires a solid understanding of the basics of the C# language (principles of object-oriented programming, generic types, custom attributes, lambda expressions) and familiarity with working with Visual Studio, VsCode, or Rider.

Your benefits

  • Build a robust persistence layer using Entity Framework Core and the Unit of Work pattern
  • Query and manipulate data efficiently with LINQ and entity relationship mapping
  • Implement high-performance data access using Dapper and ADO for data-driven applications
  • Manage transactions and ensure data integrity following ACID principles
  • Measure and optimize performance using profiling tools and metrics analysis
  • Content

    The training is structured around various key stages aimed at strengthening data access and transaction control. Each section combines fundamental concepts with targeted practical application, in conjunction with the flagship tools of the .NET ecosystem. 

    Introduction 

    This first stage presents the conceptual basics related to database types, non-blocking input/output, transactions, and object-relational mapping. 

    • The different types of databases (SQL, NoSQL).
    • Non-blocking execution of I/O operations.
    • The role of a connection pool.
    • Transactions and ACID principles.
    • Full-text searches.
    • Object/database mapping.
    See more + / -

    Using EntityFramework Core 

    Here we explore how the repository pattern works, entity definition, relationship mapping, and implementation of the Unit of Work pattern via DbContext. 

    • Introduction to the repository pattern.
    • Domain entities: strong entities and weak entities.
    • Mapping entities and their relationships.
    • Implementing the Unit of Work pattern with DbContext.
    • The different states of an entity.
    • Querying with LINQ.
    • Migrations.

    Practical application: setting up a persistence layer with EntityFramework Core and transaction management.

    Mini-ORMs 

    • The limitations of the pattern repository.
    • Manipulating contextual data with tuples and records.
    • Implementing the Unit of Work pattern with ADO.
    • Querying a relational database with Dapper.

    Practical application: creating a data-driven application with Dapper and implementing transactions. 

    Profiling to measure data access performance 

    You will learn how to measure the performance of data access operations by activating a profiling tool, defining relevant metrics, and automating the collection of measurements. 

    • Activating a profiler in an application.
    • Choosing metrics.
    • Archiving information.
    • Alerts.

    Practical application: profiling data access operations and exporting measurements to Prometheus.

    💡 Useful information

    Our training sessions are offered in Montreal or Quebec City, in person or in virtual format. Dates and locations are provided when you select your session below. If you have any questions regarding registration, schedules, the language of instruction, or cancellation policies, please consult our FAQ .

    Duration
    2 days
    Schedule
    See training dates for details
    Regular fee
    $1,035
    Preferential fee A preferential rate is offered to public institutions, to members of certain professional organizations as well as to companies that do a certain amount of business with Technologia. To know more, please read the "Registration and rates" section on our FAQ page. Please note that preferential rates are not available for online training courses. Discounts cannot be combined with other offers.
    $930
    Private or personalized training

    Do you have several employees interested in the same training course? Whether in person at your offices or remotely in virtual mode, we offer private training courses tailored to your team's needs. Group rates are available. Contact us for more details or request a quote online.

    Request a quote

    Request in-company training

    Do you have several employees interested in the same training course? Whether in person at your offices or remotely in virtual mode, we offer private training courses tailored to your team's needs. Group rates are available. Contact us for more details or request a quote online.

    Tell us more
    Added to cart View my cart