Accès aux données d'une procédure stockée avec Entity Framework
Cet article aborde le défi de la récupération de données à partir d'une procédure stockée SQL dynamique à l'aide d'Entity Framework 6.1 .1. L'objectif est de remplir un contrôle GridView avec les données récupérées.
Le scénario implique une procédure stockée appelée SearchProducts qui accepte un terme de recherche comme paramètre et renvoie un ensemble de résultats basé sur une requête SQL dynamique. Le code C# tente d'exécuter la procédure stockée et de lier le résultat à un contrôle GridView.
Le problème
Lorsque le code est exécuté, la procédure stockée fonctionne dans le Database Explorer mais échoue dans l’application en cours d’exécution, renvoyant -1 au lieu d’un DataSet IEnumerable. Cela indique que les données ne sont pas récupérées avec succès.
La solution
Pour résoudre ce problème, il est nécessaire d'importer la procédure stockée en tant que fonction dans l'entité modèle. Voici les étapes :
Dans la boîte de dialogue Ajouter une importation de fonction :
Mettez à jour le code C# :
Le code révisé :
var db = new MyEntities(); var TEST_SEARCH_TERM = "product"; var result = db.Search_Products(TEST_SEARCH_TERM); MyGridView.DataSource = result; MyGridView.DataBind();
Explication
Entity Framework ne prend pas entièrement en charge les fichiers stockés. la procédure renvoie des valeurs. L'importation de la procédure stockée en tant que fonction permet de la traiter comme une méthode Entity Framework, qui peut gérer la récupération des données.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!