La majorité des applications .NET interagissent avec des bases de données, SQL ou NoSQL. Chaque option ayant des avantages techniques à évaluer selon le contexte. Les mécanismes d’accès aux données doivent être choisis et implémentés en tenant compte des enjeux de performance, de mise à l’échelle (scalability) et de cohérence.
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.
Objectif
Ê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.
Est-ce pour vous ?
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.
Vos gains
Contenu
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
- 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.
Voir plus +/-
Utiliser EntityFramework Core
- 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
- 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.
💡 Informations utiles
Nos formations sont offertes à Montréal ou Québec en présentiel ou en format virtuel. Les dates et lieux sont précisés lors de votre choix de session ci-dessous. Si vous avez des questions concernant l'inscription, les horaires, la langue d’enseignement ou les modalités d’annulation, consultez notre FAQ .
Intervenants
Formation en entreprise
Vous avez plusieurs employés intéressés par une même formation? Que ce soit en présentiel dans vos bureaux ou à distance en mode virtuel, nous offrons des formations privées adaptées aux besoins de votre équipe. Des tarifs de groupes sont disponibles. Contactez-nous pour plus de détails ou demandez une soumission en ligne.
Demander une soumission