.net Core 6 Entity Framework Database First Example

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

Démarrage rapide : Créer une application .NET 6 avec Entity Framework Core (Database First)

Découvrez comment construire une application .NET 6 en utilisant Entity Framework Core (EF Core) avec une approche "Database First".

Introduction

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. L'approche "Database First" implique de commencer avec une base de données existante et de générer automatiquement des classes C# qui reflètent la structure de la base de données.

Configuration de l'environnement

Avant de commencer, assurez-vous d'avoir les éléments suivants installés sur votre machine :

  • Visual Studio 2022 ou une version ultérieure.
  • .NET 6 SDK.
  • SQL Server ou un autre système de gestion de base de données (SGBD) compatible.

Étapes

  1. Créer un nouveau projet .NET 6.

    • Ouvrez Visual Studio et sélectionnez "Créer un projet".
    • Choisissez le modèle "Application Web ASP.NET Core (.NET 6)" et cliquez sur "Suivant".
    • Configurez le nom du projet et le chemin d'accès, puis cliquez sur "Créer".
  2. Installer Entity Framework Core

    • Ouvrez la fenêtre du gestionnaire de paquets (NuGet Package Manager) dans Visual Studio.

    • Recherchez et installez les packages suivants :

      Microsoft.EntityFrameworkCore.SqlServer
      Microsoft.EntityFrameworkCore.Design
      
  3. Créer la base de données et les tables

    • Dans SQL Server Management Studio (SSMS) ou votre outil de gestion de base de données préféré, créez une nouvelle base de données et les tables nécessaires.
    • Par exemple, créez une base de données nommée "MyDatabase" avec une table "Products" ayant des colonnes "ProductID", "ProductName", "Price" et "Description".
  4. Générer les classes EF Core

    • Ouvrez le Gestionnaire de paquets dans Visual Studio.

    • Exécutez la commande suivante :

      dotnet ef dbcontext scaffold "Data Source=your_server_name;Initial Catalog=MyDatabase;Integrated Security=True" Microsoft.EntityFrameworkCore.SqlServer -o Models -f
      
      • Remplacez "your_server_name" par le nom de votre serveur SQL.
      • Le paramètre "-o Models" indique à EF Core de générer les classes dans le dossier "Models".
      • Le paramètre "-f" force la génération des classes, même si elles existent déjà.
  5. Configurer le DbContext

    • Ouvrez le fichier Program.cs et ajoutez les lignes suivantes :

      var builder = WebApplication.CreateBuilder(args);
      
      // ... autres configurations
      
      // Ajouter le DbContext
      builder.Services.AddDbContext(options =>
          options.UseSqlServer(builder.Configuration.GetConnectionString("MyDatabase")));
      
      var app = builder.Build();
      
      // ... autres configurations
      
      app.MapGet("/", () => "Hello World!");
      
      app.Run();
      
      • Remplacez "MyDbContext" par le nom de votre classe de contexte (généré par EF Core).
      • Assurez-vous de définir la chaîne de connexion dans votre fichier appsettings.json.
  6. Utiliser EF Core dans votre application

    • Vous pouvez maintenant utiliser le contexte EF Core pour interagir avec votre base de données. Par exemple :

      // Injectez le DbContext dans votre classe
      public class MyController : Controller
      {
          private readonly MyDbContext _context;
      
          public MyController(MyDbContext context)
          {
              _context = context;
          }
      
          // Méthode pour récupérer tous les produits
          public IActionResult GetAllProducts()
          {
              var products = _context.Products.ToList();
              return Ok(products);
          }
      }
      

Conclusion

En suivant ces étapes, vous avez appris à créer une application .NET 6 utilisant EF Core avec une approche "Database First". Vous pouvez maintenant interagir avec votre base de données existante en utilisant des classes C# générées automatiquement, facilitant le développement de votre application. N'oubliez pas de consulter la documentation officielle d'EF Core pour plus d'informations et des exemples plus avancés.