.net 6 Call Stored Procedure

5 min read Jun 03, 2024
.net 6 Call Stored Procedure

Appeler des procédures stockées dans .NET 6

L'utilisation de procédures stockées dans une base de données est une pratique courante pour améliorer les performances, la sécurité et la maintenabilité des applications. Avec .NET 6, il est facile d'appeler des procédures stockées depuis votre code.

Introduction aux procédures stockées

Les procédures stockées sont des blocs de code précompilés qui résident dans la base de données. Elles permettent de regrouper des instructions SQL complexes, de les exécuter de manière réutilisable et de garantir la cohérence des opérations.

Appeler des procédures stockées avec Entity Framework Core

Entity Framework Core (EF Core) est un ORM populaire pour .NET qui permet de manipuler les données de manière objet-relationnelle. Il offre un moyen simple d'appeler des procédures stockées.

Configuration de la procédure stockée dans EF Core

Pour utiliser une procédure stockée avec EF Core, vous devez la configurer dans votre contexte de données.

Exemple:

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

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.HasDbFunction(
            nameof(GetProductsByCategory),
            b => b.HasName("GetProductsByCategory")
            .IsComposable()
            .HasParameter("CategoryID", typeof(int))
            .Returns>());
    }

    // Définition de la procédure stockée 
    [DbFunction("GetProductsByCategory")]
    public static List GetProductsByCategory(int CategoryID)
    {
        throw new NotImplementedException();
    }
}

Appel de la procédure stockée

Une fois la procédure stockée configurée, vous pouvez l'appeler comme une méthode normale dans votre code.

Exemple:

// Instancier le contexte de données
var dbContext = new MyDbContext();

// Appeler la procédure stockée
var products = dbContext.GetProductsByCategory(1);

Appeler des procédures stockées directement avec ADO.NET

Si vous préférez un contrôle plus direct sur la base de données, vous pouvez utiliser ADO.NET pour appeler des procédures stockées.

Création d'une commande SQL

Exemple:

// Créer une connexion à la base de données
using var connection = new SqlConnection("VotreChaîneDeConnexion");

// Créer une commande SQL pour la procédure stockée
var command = new SqlCommand("GetProductsByCategory", connection);
command.CommandType = CommandType.StoredProcedure;

// Ajouter les paramètres de la procédure stockée
command.Parameters.AddWithValue("@CategoryID", 1);

// Ouvrir la connexion et exécuter la commande
connection.Open();
var reader = command.ExecuteReader();

// Traiter les résultats
while (reader.Read())
{
    // ...
}

Avantages d'utiliser des procédures stockées dans .NET 6

  • Performances: Les procédures stockées sont précompilées et stockées dans la base de données, ce qui permet une exécution plus rapide des requêtes.
  • Sécurité: Les procédures stockées limitent l'accès direct aux données, ce qui améliore la sécurité de l'application.
  • Réutilisabilité: Les procédures stockées sont réutilisables, ce qui réduit le code dupliqué et simplifie la maintenance.
  • Modularité: Les procédures stockées permettent de découper la logique de l'application en modules distincts, ce qui améliore la clarté et la maintenabilité.

Conclusion

Appeler des procédures stockées dans .NET 6 est un moyen simple et efficace d'interagir avec les bases de données. Que vous utilisiez EF Core ou ADO.NET, vous avez le choix d'une méthode qui correspond à vos besoins. En utilisant les procédures stockées, vous pouvez améliorer les performances, la sécurité et la maintenabilité de vos applications .NET.

Featured Posts