.net Core Code First Example

5 min read Jun 03, 2024
.net Core Code First Example

Découverte de .NET Core avec Code First : Un exemple simple

Introduction

.NET Core est un framework open-source puissant et moderne pour développer des applications web, des services d'API et des applications de bureau. La fonctionnalité "Code First" offre une approche flexible et intuitive pour la création de bases de données relationnelles à partir de votre code. Dans cet article, nous allons explorer un exemple simple pour comprendre comment utiliser Code First dans .NET Core.

Mise en place du projet

  1. Créer un nouveau projet .NET Core: Ouvrez Visual Studio ou Visual Studio Code et créez un nouveau projet .NET Core. Sélectionnez le template "ASP.NET Core Web Application" et choisissez l'option "API" pour notre exemple.
  2. Installer les packages NuGet: Ajoutez les packages NuGet suivants à votre projet :
    • Microsoft.EntityFrameworkCore: Fournit les outils pour l'accès aux données.
    • Microsoft.EntityFrameworkCore.SqlServer: Permet de travailler avec SQL Server.
  3. Créer les classes de modèle: Définissez les classes qui représenteront vos tables de base de données. Par exemple :
public class Product
{
    public int Id { get; set; }
    public string Name { get; set; }
    public decimal Price { get; set; }
    public string Description { get; set; }
}

Configuration du DbContext

  1. Créer un DbContext: Créez une classe qui hérite de DbContext et configurez la base de données.
public class ProductDbContext : DbContext
{
    public ProductDbContext(DbContextOptions options) : base(options)
    {
    }

    public DbSet Products { get; set; }

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        if (!optionsBuilder.IsConfigured)
        {
            optionsBuilder.UseSqlServer("YourConnectionString");
        }
    }
}
  1. Configurer l'injection de dépendances: Dans le fichier Startup.cs, configurez l'injection de dépendances pour ProductDbContext.
public void ConfigureServices(IServiceCollection services)
{
    services.AddDbContext(options => options.UseSqlServer("YourConnectionString"));
    // ...
}

Créer la base de données

  1. Migrer la base de données: Utilisez les commandes de ligne de commande pour générer et appliquer les migrations.
dotnet ef migrations add InitialCreate
dotnet ef database update

Interagir avec la base de données

  1. Ajouter des données: Injectez le ProductDbContext dans votre contrôleur et utilisez les méthodes Add et SaveChanges pour ajouter des données à la base de données.
[HttpPost]
public IActionResult CreateProduct([FromBody] Product product)
{
    _dbContext.Products.Add(product);
    _dbContext.SaveChanges();

    return Ok();
}
  1. Récupérer des données: Utilisez les méthodes Find ou Where pour récupérer des données de la base de données.
[HttpGet]
public IActionResult GetProducts()
{
    var products = _dbContext.Products.ToList();
    return Ok(products);
}

Conclusion

Cet exemple simple illustre l'utilisation de .NET Core Code First pour créer et interagir avec une base de données relationnelle. Code First est un outil puissant qui permet aux développeurs de se concentrer sur le code et la logique métier plutôt que sur les détails de la base de données. Vous pouvez utiliser cette approche pour construire des applications robustes et évolutives avec .NET Core. N'hésitez pas à explorer davantage les fonctionnalités de Code First et à les appliquer à vos propres projets .NET Core.