Entity Framework Core (EF Core) est une infrastructure de mappage objet-relationnel (ORM) qui permet aux développeurs d'interagir avec des bases de données à l'aide d'objets .NET. L'une des fonctionnalités essentielles d'EF Core est sa capacité à gérer les migrations de bases de données.
Conditions préalables
- Connaissances de base du langage de programmation C#.
- Compréhension des concepts de base OOPS
Cet article explique les migrations EF Core, pourquoi elles sont cruciales et comment les utiliser avec un exemple. Alors, pour commencer :
Objectifs d'apprentissage
- Comment utiliser la migration EF Core avec un exemple.
- Pourquoi les migrations EF Core sont importantes
Commencer
Les migrations EF Core sont un moyen de gérer les modifications apportées à votre schéma de base de données au fil du temps. Lorsque vous apportez des modifications à votre modèle de base de données (comme l'ajout ou la suppression de tables ou de colonnes), vous pouvez créer une migration qui décrit ces modifications.
Les migrations sont ensuite utilisées pour mettre à jour le schéma de la base de données afin qu'il corresponde au nouveau modèle.
Pourquoi les migrations EF Core sont-elles importantes ?
Les migrations EF Core sont essentielles car elles vous permettent de faire évoluer votre schéma de base de données au fil du temps tout en préservant les données.
Sans migrations, vous devriez modifier manuellement votre schéma de base de données chaque fois que vous apportez des modifications à votre modèle, ce qui peut prendre du temps et être source d'erreurs.
Les migrations fournissent également un moyen de versionner votre schéma de base de données afin que vous puissiez facilement suivre les modifications et revenir aux versions précédentes si nécessaire.
Comment utiliser les migrations EF Core ?
Pour utiliser EF Core Migrations, vous devrez suivre quelques étapes :
- Créez un nouveau projet EF Core. La première étape consiste à créer un nouveau projet EF Core dans Visual Studio. Vous pouvez le faire en sélectionnant "Créer un nouveau projet", puis en sélectionnant "Application Web ASP.NET Core" et en choisissant le modèle "Application Web (Modèle-Vue-Contrôleur)".
- Créez un contexte de base de données. L'étape suivante consiste à créer une classe de contexte de base de données. Cette classe gère les interactions entre vos objets .NET et la base de données. Pour créer un contexte de base de données, créez une nouvelle classe dans votre projet et héritez-en de la classe DbContext.
public class MyDbContext : DbContext { public MyDbContext(DbContextOptions<MyDbContext> options) : base(options) { } }
Créer un modèle de base de données
Après avoir créé un contexte de base de données, vous devrez créer un modèle de base de données. Ce modèle représente la structure de votre base de données et est utilisé par EF Core pour générer des tables et des colonnes de base de données.
Pour créer un modèle de base de données, créez une nouvelle classe dans votre projet et définissez ses propriétés en tant que champs de base de données.
public class MyModel { public int Id { get; set; } public string Name { get; set; } public int Age { get; set; } }
Activer les migrations EF Core
Ensuite, vous devez activer les migrations EF Core dans votre projet. Pour ce faire, ouvrez la console du gestionnaire de packages et saisissez la commande suivante :
PM> Install-Package Microsoft.EntityFrameworkCore.Tools
Ce package contient les outils nécessaires pour créer et gérer les migrations EF Core.
Créer une migration
Avec les migrations EF Core activées, vous pouvez créer votre première migration. Pour créer une migration, ouvrez la console du gestionnaire de packages et saisissez la commande suivante :
PM> Add-Migration InitialCreate
Cela créera une nouvelle migration appelée "InitialCreate" qui décrit les modifications que vous avez apportées à votre modèle de base de données. Vous pouvez visualiser le contenu de la migration dans le dossier "Migrations" de votre projet.
Mettre à jour la base de données
Après avoir créé une migration, vous pouvez mettre à jour le schéma de la base de données pour qu'il corresponde au nouveau modèle. Pour ce faire, ouvrez la console du gestionnaire de packages et saisissez la commande suivante :
PM> Update-Database
Cela appliquera la migration à la base de données et mettra à jour son schéma.
Exemple
Examinons un exemple d'utilisation des migrations EF Core. Supposons que nous voulions créer une simple table "Etudiants" avec deux colonnes : "Id" et "Name". Nous allons commencer par créer un nouveau projet d'application Web ASP.NET Core dans Visual Studio.
- Créez un nouveau projet EF Core. Créez un nouveau projet d'application Web ASP.NET Core dans Visual Studio. Sélectionnez le modèle "Application Web (Modèle-Vue-Contrôleur)" et choisissez "Comptes d'utilisateurs individuels" pour l'authentification. Nommez le projet "EFCoreMigrationsExample".
- Créez un contexte de base de données. Créez une nouvelle classe appelée "MyDbContext" dans le dossier "Models" du projet et héritez-en de la classe DbContext.
using Microsoft.EntityFrameworkCore; namespace EFCoreMigrationsExample.Models { public class MyDbContext : DbContext { public MyDbContext(DbContextOptions<MyDbContext> options) : base(options) { } public DbSet<Student> Students { get; set; } } }
La propriété "Students" est un DbSet représentant la table "Students" de notre base de données.
Créer un modèle de base de données
Créez une nouvelle classe "Student" dans le dossier "Models" du projet et définissez ses propriétés.
namespace EFCoreMigrationsExample.Models { public class Student { public int Id { get; set; } public string Name { get; set; } } }
Activer les migrations EF Core
Ouvrez la console du gestionnaire de packages et entrez la commande suivante pour installer le package d'outils EF Core :
PM> Install-Package Microsoft.EntityFrameworkCore.Tools
Créer une migration
Ouvrez la console du gestionnaire de packages et saisissez la commande suivante pour créer une migration :
PM> Add-Migration InitialCreate
Cela créera une nouvelle migration appelée "InitialCreate" qui décrit les modifications que nous avons apportées à notre modèle de base de données.
Le fichier de migration devrait ressembler à ceci :
using Microsoft.EntityFrameworkCore.Migrations; namespace EFCoreMigrationsExample.Migrations { public partial class InitialCreate : Migration { protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.CreateTable( name: "Students", columns: table => new { Id = table.Column<int>(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), Name = table.Column<string>(type: "nvarchar(max)", nullable: true) }, constraints: table => { table.PrimaryKey("PK_Students", x => x.Id); }); } protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropTable( name: "Students"); } } }
La migration crée une nouvelle table appelée "Students" avec des colonnes pour "Id" et "Name". Mettre à jour la base de données Ouvrez la console du gestionnaire de packages et entrez la commande suivante pour mettre à jour le schéma de la base de données :
PM> Update-Database
Cela appliquera la migration à la base de données et mettra à jour son schéma.
Nous pouvons maintenant ajouter, mettre à jour et supprimer des étudiants dans notre base de données à l'aide d'EF Core. Par exemple, nous pouvons ajouter un nouvel étudiant à la base de données comme ceci :
using EFCoreMigrationsExample.Models; namespace EFCoreMigrationsExample.Controllers { public class HomeController : Controller { private readonly MyDbContext _context; public HomeController(MyDbContext context) { _context = context; } public IActionResult Index() { var student = new Student { Name = "John" }; _context.Students.Add(student); _context.SaveChanges(); return View(); } } }
Ce code crée une nouvelle instance de la classe Student et définit sa propriété Name sur « John ». Il ajoute ensuite l'étudiant au Students DbSet et enregistre les modifications dans la base de données.
Conclusion
Les migrations EF Core offrent un moyen pratique de gérer les modifications de schéma de base de données dans votre application.
Cet article montre comment créer un schéma de base de données simple à l'aide des migrations EF Core, y compris la création d'un DbContext, la définition d'un modèle, la réalisation d'une migration et la mise à jour du schéma de base de données.
Ce n'est que le début de ce que peut faire EF Core. Vous pouvez utiliser EF Core pour interroger et manipuler des données, créer des relations complexes entre des tables, etc. Avec sa facilité d'utilisation et sa large gamme de fonctionnalités, EF Core est un excellent choix pour créer des applications pilotées par les données dans .NET.
Cet article vous a aidé à démarrer avec les migrations EF Core. Si vous avez des questions ou des commentaires, veuillez les laisser ci-dessous. Bon codage !
Suivez-moi sur
, , , ,
Également publié