.net Core 6 Entity Framework Database First Stored Procedure

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

Utilisation des procédures stockées avec Entity Framework Core 6 dans un projet Database First

Introduction

Entity Framework Core (EF Core) est un framework ORM populaire pour .NET qui simplifie l'interaction avec les bases de données. En utilisant l'approche "Database First", vous générez des modèles de votre base de données existante.

Dans cet article, nous allons explorer comment utiliser les procédures stockées avec EF Core 6 dans un projet Database First. Les procédures stockées peuvent être très utiles pour encapsuler la logique métier, optimiser les performances et améliorer la sécurité.

Configuration de votre projet

  1. Créer un nouveau projet .NET 6
  2. Installer le package NuGet "Microsoft.EntityFrameworkCore.SqlServer"
  3. Configurer la connexion à votre base de données

Générer des modèles à partir de votre base de données

Utilisez l'outil "EntityFrameworkCore.SqlServer.Design" pour générer des modèles à partir de votre base de données. Exécutez la commande suivante dans la console de gestion de package :

dotnet ef dbcontext scaffold "NomDeVotreChaineDeConnexion" Microsoft.EntityFrameworkCore.SqlServer -o Models

Remplacez "NomDeVotreChaineDeConnexion" par le nom de votre chaîne de connexion et "Models" par le dossier de destination de vos modèles.

Définir les procédures stockées dans votre contexte de données

  1. Créer une classe partielle pour votre contexte de données
  2. Ajouter une méthode pour chaque procédure stockée que vous souhaitez utiliser
  3. Utilisez l'attribut [DbFunction] pour indiquer qu'il s'agit d'une procédure stockée
public partial class MyDbContext : DbContext
{
    // ...

    [DbFunction("dbo", "GetUsers")]
    public IQueryable GetUsers()
    {
        return FromExpression(() => GetUsersInternal());
    }

    private IQueryable GetUsersInternal()
    {
        // Code pour exécuter la procédure stockée
    }
}

Appeler les procédures stockées

Vous pouvez maintenant appeler les procédures stockées comme n'importe quelle autre méthode de votre contexte de données.

// Obtenir tous les utilisateurs
var users = context.GetUsers();

// Afficher les utilisateurs
foreach (var user in users)
{
    Console.WriteLine(user.Name);
}

Avantages de l'utilisation des procédures stockées

  • Sécurité : Les procédures stockées peuvent limiter l'accès aux données et les protéger contre les injections SQL.
  • Performances : Les procédures stockées sont généralement plus performantes que les requêtes LINQ car elles sont compilées une fois et exécutées par le serveur de base de données.
  • Réutilisabilité : Les procédures stockées peuvent être réutilisées par plusieurs applications et composants.

Conclusion

L'utilisation des procédures stockées avec EF Core 6 dans un projet Database First permet d'améliorer la sécurité, les performances et la réutilisabilité de votre code. En suivant les étapes décrites ci-dessus, vous pouvez facilement intégrer les procédures stockées dans votre application .NET.

Related Post