Maison >développement back-end >C++ >Comment récupérer des données d'une procédure stockée à l'aide d'Entity Framework sans obtenir un ensemble de données vide ?
Problème :
Les développeurs rencontrent des difficultés à récupérer des données à partir d'une procédure stockée lors de l'utilisation d'Entity Framework (EF), ce qui entraîne un ensemble de données vide (-1) au lieu de celui attendu data.
Procédure stockée :
ALTER PROCEDURE dbo.SearchProducts @SearchTerm VARCHAR(max) AS BEGIN DECLARE @query VARCHAR(max) SET @query = 'SELECT * FROM dbo.Products WHERE Name LIKE ''%' + @SearchTerm + '%''' EXEC(@query) END
Code C# :
var db = new MyEntities(); var TEST_SEARCH_TERM = "product"; var result = db.SearchProducts(TEST_SEARCH_TERM); MyGridView.DataSource = result; MyGridView.DataBind();
Solution :
Pour résoudre ce problème, suivez ces étapes :
Importez la procédure stockée en tant que fonction :
Mettre à jour le code Derrière :
Remplacez le code existant par ce qui suit :
var db = new MyEntities(); var TEST_SEARCH_TERM = "product"; var result = db.Search_Products(TEST_SEARCH_TERM); // Search_Products is the name specified in the Function Import dialog MyGridView.DataSource = result; MyGridView.DataBind();
En important le code stocké procédure en tant que fonction, Entity Framework peut récupérer et renvoyer correctement les données de la procédure stockée.
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!