Maison > développement back-end > C++ > Comment puis-je récupérer des données d'une procédure stockée à l'aide d'Entity Framework et remplir un GridView ?

Comment puis-je récupérer des données d'une procédure stockée à l'aide d'Entity Framework et remplir un GridView ?

Barbara Streisand
Libérer: 2024-12-29 18:14:10
original
967 Les gens l'ont consulté

How Can I Retrieve Data from a Stored Procedure Using Entity Framework and Populate a GridView?

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 :

  1. Cliquez avec le bouton droit sur la zone d'espace de travail du modèle d'entité et choisissez Ajouter -> Importation de fonction.
  2. Dans la boîte de dialogue Ajouter une importation de fonction :

    • Entrez le nom de la fonction (par exemple, Search_Products).
    • Choisissez la procédure SearchProducts. dans la liste déroulante.
    • Définissez la valeur de retour sur Entités et choisissez Produits dans la liste déroulante. list.
  3. Mettez à jour le code C# :

    • Utilisez le nom de la fonction (Search_Products) dans l'objet Entity pour exécuter la procédure stockée.
    • Lier le résultat au GridView contrôle.

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();
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal