Cette formation permet de comparer différentes stratégies d’accès aux données et de mettre en œuvre des transactions robustes en exploitant le pattern Unit of Work. À travers l’utilisation de technologies comme EntityFramework Core, Dapper, ou encore ADO.NET, les participant·es apprendront à structurer une couche de persistance efficace, à optimiser les requêtes et à surveiller les performances d’exécution dans un environnement .NET.
Objectifs de la formation
Être en mesure de comparer et d’implémenter des stratégies d’accès aux données et de gestion des transactions depuis une application .NET.Clientèle visée
Développeurs et architectes logiciels travaillant sur des projets .NET nécessitant une bonne gestion des données.Préalables
Ce cours demande une connaissance solide des bases du langage C# (principes de la programmation orientée objet, types génériques, custom attribute, expressions lambda) et une habitude de travailler avec Visual Studio, VsCode ou Rider.Formateurs
Gains pour les participants
Comparer les solutions de stockage SQL (relationnelles) et NoSQL (non relationnelles);
Mettre en œuvre une couche de persistance avec EntityFramework Core;
Interroger une base de données relationnelle avec un mini-ORM;
Implémenter le pattern Unit of Work;
Appliquer les principes ACID avec les transactions;
Mesurer les performances des accès à une base de données grâce à des outils de profiling.
Architecture de la formation
La formation est structurée autour de différentes étapes clés visant à renforcer la maîtrise des accès aux données et des transactions. Chaque volet associe des concepts fondamentaux à une mise en pratique ciblée, en lien avec les outils phares de l’écosystème .NET.
Introduction
Cette première étape présente les bases conceptuelles liées aux types de bases de données, aux entrées-sorties non bloquantes, aux transactions et à la cartographie objet-relationnel.
- Les différents types de base de données (SQL, NoSQL).
- L'exécution non bloquantes des opérations I/O.
- Le rôle d'un pool de connexions.
- Les transactions et les principes ACID.
- Les recherches full text.
- Le mapping objet / base de données.
Utiliser EntityFramework Core
On explore ici le fonctionnement du pattern repository, la définition des entités, le mapping des relations et l’implémentation du pattern Unit of Work via DbContext.
- Présentation du pattern repository.
- Les entités du domaine: entités fortes et entités faibles.
- Le mapping des entités et de leurs relations.
- L'implémentation du pattern Unit of Work avec le DbContext.
- Les différents états d'une entité.
- Le requêtage avec LINQ.
- Les migrations.
Mise en pratique : mise en place d'une couche de persistance avec EntityFramework Core et la gestion des transactions.
Les mini-ORM
- Les limites du pattern repository.
- Manipulation des données contextuelles avec Tuples et records.
- Implémentation du pattern Unit of Work avec ADO.
- Requêtage d'une base de données relationnelle avec Dapper.
Mise en pratique : création d’une application orientée données (data driven) avec Dapper et mise en œuvre des transactions.
Le profiling pour mesurer les performances d’accès aux données
Vous aborderez la mesure des performances des opérations d’accès aux données en activant un outil de profiling, en définissant les métriques pertinentes et en automatisant la collecte des mesures.
- L'activation d'un profiler dans une application.
- Le choix des métriques.
- L'archivage des informations.
- Les alertes.
Mise en pratique : profiling des opérations d'accès aux données et exportation des mesures dans Prometheus.
Détails pédagogiques
Méthode pédagogique
Explication, pour chaque concept, du problème qu'il prétend résoudre. Mise en pratique d'un concept immédiatement après qu'il a été présenté. Validation de chaque étape par exécution de tests unitaires. Exercice « fil rouge » pour obtenir en fin de cours une application complète. QCM en fin de chapitre pour s'assurer de l'acquisition des connaissances.
Type de cours
Formation en entreprise
Toutes nos formations peuvent être offertes en entreprise et personnalisées selon vos besoins. Pour plus d'information, nous vous invitons à communiquer avec nous ou à remplir une demande de soumission en ligne.
Demander une soumissionFormation en entreprise
Toutes nos formations peuvent être offertes en entreprise et personnalisées selon vos besoins. Pour plus d'information, nous vous invitons à communiquer avec nous ou à remplir une demande de soumission en ligne.
Demander une soumission