.net Core Entity Framework Example

5 min read Jun 03, 2024
.net Core Entity Framework Example

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

  1. 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
  1. 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

  1. Créez un nouveau fichier C# nommé BlogPost.cs dans votre projet.

  2. 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

  1. Créez une nouvelle classe C# nommée BlogContext.cs dans votre projet.

  2. 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

  1. Ajoutez la méthode Main suivante à votre fichier Program.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

  1. Exécutez l'application en utilisant la commande suivante :
dotnet run
  1. 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.

Featured Posts