Heim >Backend-Entwicklung >C++ >Wie kann ich mit Entity Framework Daten aus einer gespeicherten Prozedur abrufen und eine GridView füllen?
Zugriff auf Daten aus einer gespeicherten Prozedur mit Entity Framework
Dieser Artikel befasst sich mit der Herausforderung des Abrufens von Daten aus einer dynamischen gespeicherten SQL-Prozedur mit Entity Framework 6.1 .1. Das Ziel besteht darin, ein GridView-Steuerelement mit den abgerufenen Daten zu füllen.
Das Szenario umfasst eine gespeicherte Prozedur namens SearchProducts, die einen Suchbegriff als Parameter akzeptiert und eine Ergebnismenge basierend auf einer dynamischen SQL-Abfrage zurückgibt. Der C#-Code versucht, die gespeicherte Prozedur auszuführen und das Ergebnis an ein GridView-Steuerelement zu binden.
Das Problem
Wenn der Code ausgeführt wird, funktioniert die gespeicherte Prozedur im Der Datenbank-Explorer schlägt jedoch in der laufenden Anwendung fehl und gibt -1 anstelle eines IEnumerable DataSet zurück. Dies weist darauf hin, dass die Daten nicht erfolgreich abgerufen werden.
Die Lösung
Um dieses Problem zu lösen, ist es notwendig, die gespeicherte Prozedur als Funktion in die Entität zu importieren Modell. Hier sind die Schritte:
Im Dialogfeld „Funktionsimport hinzufügen“:
Aktualisieren Sie den C#-Code:
Der überarbeitete Code:
var db = new MyEntities(); var TEST_SEARCH_TERM = "product"; var result = db.Search_Products(TEST_SEARCH_TERM); MyGridView.DataSource = result; MyGridView.DataBind();
Erklärung
Entity Framework bietet keine vollständige Unterstützung für gespeicherte Rückgabewerte der Prozedur. Durch das Importieren der gespeicherten Prozedur als Funktion kann sie als Entity Framework-Methode behandelt werden, die den Abruf von Daten verarbeiten kann.
Das obige ist der detaillierte Inhalt vonWie kann ich mit Entity Framework Daten aus einer gespeicherten Prozedur abrufen und eine GridView füllen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!