Introduction
- Principe et intérêt du Mapping Relationnel Object.
- Historique des versions d’Entity Framework.
- Architecture d’Entity Framework.
- Approche CodeFirst ou BaseFirst.
Création d’une base de données
- Choix d’un fournisseur de données.
- Configuration de la connexion.
- Création d’un modèle et du contexte de données.
- Conventions de mapping.
- Création et initialisation de la base.
Travaux pratiques
Création d’une base de données à partir d’un modèle simple.
Définition du modèle de données
- Définition du mapping par annotations ou par API Fluent.
- Mapping d’énums et de types complexes.
- Faire de l’héritage (TPT, TPH et TPC).
- Utilisation de vues.
Travaux pratiques
Création d’une base de données avec plusieurs tables avec configuration des types et des relations. Création et mapping d’une vue.
Les migrations
- Préparation des outils de migration (installation et création de la table d’historique).
- Création d’une migration.
- Exécution d’une migration sous Visual Studio ou par code.
- Gestion des migrations.
Travaux pratiques
Réalisation de migrations courantes.
Requêtage avec LINQ to Entities
- Comprendre le mécanisme de génération SQL.
- Visualiser les opérations réalisées avec des logs.
- Rappel sur le fonctionnement de LINQ (méthodes d’extensions, lambdas et opérateurs courants).
- Rôle des propriétés de navigation.
- Contrôler le chargement des entités et des données connexes.
Travaux pratiques
Créer un modèle d’après une base existante et réaliser des requêtes courantes, avec les différents scénarios de chargement d’ensembles d’entités.
Mises à jour des données
- Comprendre le rôle du service de tracking des entités.
- Mise à jour des données (Insertion, suppression, modification).
- Gérer les exceptions de mise à jour.
- Optimiser les mises à jour avec des validations locales.
- Exécuter des commandes SQL.
Travaux pratiques
Mise en œuvre des points présentés.
Techniques avancées
- Gestion des conflits concurrentiels (détection et résolution).
- Utilisation les procédures stockées.
- Réaliser des Transactions par l’application.
Travaux pratiques
Mise en œuvre des points présentés.
Modèles d’architecture Repository et UOW
- Intérêt et mise en œuvre du modèle Repository.
- Partage de contexte avec UOW.
- Principe du système d’injection de dépendances.
Travaux pratiques
Mise en œuvre d’un repository avec injection de dépendances dans une application ASP NET MVC.