Heim >Backend-Entwicklung >C++ >Wie rufe ich mithilfe des Entity Framework Daten aus einer gespeicherten Prozedur ab, ohne einen leeren Datensatz zu erhalten?
Problem:
Entwickler haben Schwierigkeiten beim Abrufen von Daten aus einer gespeicherten Prozedur, wenn sie Entity Framework verwenden (EF), was zu einem leeren Datensatz (-1) anstelle des erwarteten führt Daten.
Gespeicherte Prozedur:
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
C#-Code:
var db = new MyEntities(); var TEST_SEARCH_TERM = "product"; var result = db.SearchProducts(TEST_SEARCH_TERM); MyGridView.DataSource = result; MyGridView.DataBind();
Lösung:
Um dieses Problem zu beheben, befolgen Sie diese Schritte Schritte:
Gespeicherte Prozedur als Funktion importieren:
Aktualisieren Sie den Code Dahinter:
Ersetzen Sie den vorhandenen Code durch Folgendes:
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();
Durch Importieren der gespeicherten Prozedur als Funktion kann Entity Framework die Daten ordnungsgemäß aus der gespeicherten Prozedur abrufen und zurückgeben.
Das obige ist der detaillierte Inhalt vonWie rufe ich mithilfe des Entity Framework Daten aus einer gespeicherten Prozedur ab, ohne einen leeren Datensatz zu erhalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!