Guide de Migration Manuelle de Base de Données dans ASP.NET Core

Découvrez comment effectuer une récupération manuelle du dbContext depuis le conteneur de dépendances d'ASP.NET Core et effectuer une migration de base de données.

Détails de la leçon

Description de la leçon

Dans cette leçon, nous allons examiner les étapes nécessaires pour récupérer manuellement un dbContext depuis le conteneur de dépendances d'ASP.NET Core. Nous allons également voir comment exécuter une migration de base de données en utilisant Entity Framework Core. Cette approche assure que votre base de données est toujours à jour au démarrage de votre site, minimisant ainsi les risques d'erreurs dues à des dépendances non résolues ou à des bases de données non créées. Nous allons aborder la séparation de la compilation et de l'exécution du serveur, l'utilisation de scopes de résolution de services, et les avantages de l'utilisation de GetRequiredService.

Objectifs de cette leçon

Les objectifs de cette vidéo sont de :

  • Comprendre comment récupérer manuellement un dbContext dans ASP.NET Core.
  • Apprendre à exécuter des migrations de base de données avec Entity Framework Core.
  • S'assurer que la base de données est toujours à jour au démarrage de l'application.

Prérequis pour cette leçon

Pour suivre cette vidéo, vous devez avoir :

  • Des connaissances de base en ASP.NET Core.
  • Une compréhension de Entity Framework Core.
  • Une expérience avec la gestion des dépendances en C#.

Métiers concernés

Les professionnels qui peuvent bénéficier de cette vidéo incluent :

  • Développeurs Logiciels.
  • Ingénieurs DevOps.
  • Architectes de Solutions.

Alternatives et ressources

Les alternatives à cette méthode incluent :

  • Utilisation de MediatR pour la gestion des dépendances.
  • Utilisation de services gérés par le framework au lieu de récupération manuelle.
  • Migrations automatiques gérées via des scripts de démarrage.

Questions & Réponses

L'utilisation de GetRequiredService assure que si le service MyDbContext n'existe pas, une exception sera levée immédiatement, évitant des problèmes plus tard.
Le createScope permet de créer un périmètre de résolution de services où chaque service est résolu dans son propre scope, assurant ainsi une bonne gestion du cycle de vie des services.
Séparer la compilation et l'exécution permet de s'assurer que tous les services sont correctement configurés avant de commencer à traiter les requêtes HTTP, réduisant les risques d'erreurs.