Wie Sie die gespeicherte Prozedur ausführen und in MVC / EF / LINQ ein Ergebnis erhalten

8

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%     
user845405 02.10.2013, 17:23
quelle

4 Antworten

8

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

definieren     
marc_s 02.10.2013, 18:11
quelle
4

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:

%Vor%     
Leniel Macaferi 02.10.2013 17:32
quelle
2

Eine Möglichkeit besteht darin, dies einfach zu tun:

%Vor%     
Erik Funkenbusch 02.10.2013 17:57
quelle
0

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.

    
MrMins 30.03.2015 16:23
quelle