Démarrer avec Entity Framework Core dans .NET : Un exemple simple
Entity Framework Core (EF Core) est un ORM (Object-Relational Mapper) populaire qui simplifie l'interaction entre votre application .NET et une base de données relationnelle. Il vous permet de travailler avec des données en utilisant des objets .NET, ce qui rend le développement plus rapide et plus facile à comprendre.
Configuration de l'environnement
Avant de commencer, assurez-vous que vous avez les éléments suivants installés :
- .NET 6 SDK: Téléchargez et installez le SDK .NET 6 depuis le site officiel.
- Visual Studio Code ou Visual Studio: Choisissez l'IDE de votre choix pour développer votre application.
- Base de données relationnelle: Pour cet exemple, nous utiliserons SQLite, mais vous pouvez facilement adapter le code pour d'autres bases de données comme SQL Server ou MySQL.
Création du projet
- Ouvrez votre terminal ou invite de commandes et utilisez la commande suivante pour créer un nouveau projet .NET Core :
dotnet new console -o MyEFCoreApp
- Naviguez jusqu'au répertoire du projet :
cd MyEFCoreApp
Installation des packages
Installez les packages nécessaires à l'utilisation d'EF Core et de SQLite :
dotnet add package Microsoft.EntityFrameworkCore
dotnet add package Microsoft.EntityFrameworkCore.Sqlite
Création du modèle de données
-
Créez un nouveau fichier C# nommé
BlogPost.cs
dans votre projet. -
Définissez la classe
BlogPost
avec les propriétés qui correspondent aux colonnes de votre table de base de données :
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace MyEFCoreApp
{
public class BlogPost
{
[Key]
public int Id { get; set; }
[Required]
public string Title { get; set; }
public string Content { get; set; }
}
}
Création du contexte de données
-
Créez une nouvelle classe C# nommée
BlogContext.cs
dans votre projet. -
Héritez de la classe
DbContext
et définissez un DbSet pour chaque type d'entité que vous souhaitez gérer :
using Microsoft.EntityFrameworkCore;
namespace MyEFCoreApp
{
public class BlogContext : DbContext
{
public DbSet BlogPosts { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
if (!optionsBuilder.IsConfigured)
{
optionsBuilder.UseSqlite("Data Source=blog.db");
}
}
}
}
Initialisation de la base de données
- Ajoutez la méthode
Main
suivante à votre fichierProgram.cs
pour initialiser la base de données et créer une nouvelle entrée de blog :
using MyEFCoreApp;
var builder = WebApplication.CreateBuilder(args);
// Ajouter les services
builder.Services.AddDbContext();
var app = builder.Build();
// Initialiser la base de données et ajouter une entrée de blog
using (var scope = app.Services.CreateScope())
{
var services = scope.ServiceProvider;
var context = services.GetRequiredService();
context.Database.EnsureCreated();
var blogPost = new BlogPost { Title = "Mon premier article de blog", Content = "Bienvenue sur mon blog !" };
context.BlogPosts.Add(blogPost);
context.SaveChanges();
}
app.MapGet("/", () => "Hello World!");
app.Run();
Exécution de l'application
- Exécutez l'application en utilisant la commande suivante :
dotnet run
- Vous devriez voir le message "Hello World!" dans la console. De plus, une base de données SQLite nommée "blog.db" a été créée dans le répertoire de votre projet.
Conclusion
Cet exemple simple montre comment utiliser Entity Framework Core pour interagir avec une base de données dans une application .NET Core. Vous pouvez maintenant utiliser EF Core pour gérer vos données de manière plus structurée et efficace.
N'oubliez pas que cet exemple ne couvre qu'une petite partie des fonctionnalités d'EF Core. Vous pouvez explorer davantage les fonctionnalités comme la migration, les relations entre entités, les requêtes LINQ et bien plus encore pour enrichir vos applications .NET.