Könnte mich irgendjemand leiten, wie man eine SQL Server gespeicherte Prozedur in ASP.NET MVC / EF ausführt Anwendung und Ergebnisse zurück erhalten?
Gespeicherte SQL Server-Prozedur
%Vor%MVC-Code
%Vor% Ihr Problem ist folgendes: Sie geben den Wert aus der gespeicherten Prozedur zurück (mit RETURN @paramter2
), aber Ihr .NET-Code versucht, eine Ergebnismenge zu lesen. etwas, das durch die Verwendung einer SELECT .....
-Anweisung innerhalb der gespeicherten Prozedur "zurückgegeben" würde
Ändern Sie Ihre gespeicherte Prozedur so:
%Vor%und dann sollte dein .NET-Code gut funktionieren.
Die RETURN
-Anweisung sollte nur für Statuscodes verwendet werden und kann nur INT
-Werte zurückgeben. Wenn Sie das verwenden möchten, müssen Sie SqlParameter
für Ihre gespeicherte Prozedur mit Direction.ReturnValue
Sehen Sie in diesem offiziellen Dokument nach, wie Sie die Stored Procedure
Ihrem Kontext zuordnen können:
Gespeicherte Prozeduren im Entity Framework
Nach dem Mapping können Sie Stored Procedure
auf folgende Weise aufrufen:
Sie können diese Bibliothek verwenden: Ссылка
Gibt die Werte als Liste zurück, Sie müssen nur eine einfache Klasse mit den Namen und Werttypen erstellen, wie:
%Vor%und MyCumtomModel-Klasse ist etwas wie:
%Vor%und generisch wie:
%Vor% Und jetzt hat Ihr products
die Optionen wie: products.First()
, products.Count()
, foreach
etc.
Tags und Links asp.net-mvc c# entity-framework linq sql-server-2008