.net 6 Entity Framework Database First

4 min read Jun 03, 2024
.net 6 Entity Framework Database First

Démarrage rapide avec Entity Framework Core 6 : Approche "Database First"

Entity Framework Core (EF Core) 6 est un outil puissant pour interagir avec des bases de données relationnelles dans vos applications .NET. L'approche "Database First" vous permet de démarrer rapidement en générant automatiquement des modèles de classe à partir d'une base de données existante.

Prérequis

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

  • Visual Studio 2022 avec l'extension .NET 6 SDK.
  • Une base de données existante (par exemple, SQL Server, MySQL, PostgreSQL).

Étapes pour créer un projet "Database First"

  1. Créer un nouveau projet ASP.NET Core Web API dans Visual Studio.

  2. Installer le package NuGet Microsoft.EntityFrameworkCore.SqlServer dans votre projet.

  3. Configurer le contexte de données.

    • Ajoutez une nouvelle classe nommée DataContext qui hérite de DbContext.
    • Définissez une chaîne de connexion à votre base de données dans le fichier appsettings.json.
    • Créez une méthode OnConfiguring dans la classe DataContext pour configurer le contexte de données.
  4. Générer les modèles de classe.

    • Ouvrez la fenêtre Package Manager Console (Outils > NuGet Package Manager > Console du Gestionnaire de Paquets).
    • Exécutez la commande suivante, en remplaçant [nom_de_la_base_de_données] et [serveur] par les valeurs appropriées :
    Scaffold-DbContext "Server=[serveur];Database=[nom_de_la_base_de_données];Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models
    
  5. Utiliser les modèles de classe.

    • Vous pouvez désormais utiliser les classes générées pour interagir avec votre base de données.
    • Ajoutez des méthodes dans votre contrôleur API pour exécuter des opérations CRUD (Create, Read, Update, Delete) sur les données.

Exemple de code

using Microsoft.EntityFrameworkCore;

namespace YourProjectName.Models
{
    public class DataContext : DbContext
    {
        public DataContext(DbContextOptions options) : base(options) { }

        public DbSet Customers { get; set; }
        public DbSet Orders { get; set; }
    }
}
using Microsoft.AspNetCore.Mvc;

namespace YourProjectName.Controllers
{
    [ApiController]
    [Route("[controller]")]
    public class CustomersController : ControllerBase
    {
        private readonly DataContext _context;

        public CustomersController(DataContext context)
        {
            _context = context;
        }

        [HttpGet]
        public async Task>> GetCustomers()
        {
            return await _context.Customers.ToListAsync();
        }
    }
}

Conclusion

L'approche "Database First" avec EF Core 6 est un moyen efficace de créer des applications .NET qui interagissent avec des bases de données existantes. Le processus de génération automatique de modèles de classe simplifie le développement et permet une mise en œuvre rapide de votre application. N'hésitez pas à explorer les fonctionnalités avancées d'EF Core pour répondre à vos besoins spécifiques.

Featured Posts