.net 6 Console App Dependency Injection Dbcontext

4 min read Jun 03, 2024
.net 6 Console App Dependency Injection Dbcontext

Découverte de l'injection de dépendances avec DbContext dans une application console .NET 6

Introduction

L'injection de dépendances est une pratique courante dans le développement logiciel moderne. Elle permet de créer des applications plus faciles à tester, à maintenir et à évoluer. Dans cet article, nous allons explorer comment utiliser l'injection de dépendances avec DbContext dans une application console .NET 6.

Configuration de l'application

Commençons par créer une nouvelle application console .NET 6. Vous pouvez le faire en utilisant la commande suivante dans votre terminal :

dotnet new console -o MyConsoleApp

Ensuite, ajoutez le package NuGet Entity Framework Core à votre projet :

dotnet add package Microsoft.EntityFrameworkCore

Création du DbContext

Créez une classe appelée MyDbContext qui dérive de DbContext. Cette classe sera responsable de la gestion de la connexion à la base de données et de la définition des entités que vous souhaitez utiliser.

using Microsoft.EntityFrameworkCore;

public class MyDbContext : DbContext
{
    public MyDbContext(DbContextOptions options) : base(options)
    {
    }

    public DbSet Products { get; set; }
}

Configuration du DbContext

Ajoutez la configuration du DbContext dans la méthode ConfigureServices de votre classe Program.

using Microsoft.Extensions.DependencyInjection;
using Microsoft.EntityFrameworkCore;

var builder = WebApplication.CreateBuilder(args);

// Ajoutez le DbContext au conteneur de services
builder.Services.AddDbContext(options =>
{
    options.UseSqlServer("YourConnectionString");
});

var app = builder.Build();

// ...

Remplacez YourConnectionString par la chaîne de connexion à votre base de données.

Injection de dépendances

Maintenant, vous pouvez injecter le DbContext dans n'importe quelle classe de votre application. Par exemple, si vous avez une classe ProductRepository qui gère les produits, vous pouvez injecter le DbContext dans son constructeur :

public class ProductRepository
{
    private readonly MyDbContext _context;

    public ProductRepository(MyDbContext context)
    {
        _context = context;
    }

    // ...
}

Utilisation du DbContext

Une fois que le DbContext a été injecté, vous pouvez l'utiliser pour accéder aux données de votre base de données. Par exemple, pour ajouter un nouveau produit, vous pouvez utiliser le code suivant :

var product = new Product { Name = "New Product", Price = 100 };
_context.Products.Add(product);
_context.SaveChanges();

Conclusion

L'injection de dépendances avec DbContext dans une application console .NET 6 est un moyen efficace de gérer la connexion à la base de données et de séparer les responsabilités dans votre code. En utilisant cette approche, vous pouvez créer des applications plus faciles à tester, à maintenir et à évoluer.

Keywords

  • .NET 6
  • Dependency Injection
  • DbContext