Entity Framework - gespeicherte Prozedur Rückgabewert
Ich versuche den return-Wert einer gespeicherten Prozedur. Hier ist ein Beispiel einer gespeicherten Prozedur:
select
Name,
IsEnabled
from
dbo.something
where
ID = @ID
if @@rowcount = 0
return 1
return
Dies ist ein einfaches wählen. Wenn 0 Zeilen gefunden werden, mein Ergebnis festgelegt wird, null sein, aber ich habe noch immer einen Wert zurück.
Dies ist ein schlechtes Beispiel, da dies ein " wählen, so sicher, dass ich finden konnte, wenn 0 Zeilen zurückgegeben wurden. Allerdings, auf eine Insert -, delete-oder anderen fordert, müssen wir diesen Rückgabewert, um zu wissen, ob es ein problem war. Ich habe nicht in der Lage war, einen Weg zu finden um diesen Wert zurück. Ich kann die Ausgabe-Werte, die ich bekommen kann Ergebnis Sätze, aber keinen Rückgabewert.
Bekomme ich den Rückgabewert, wenn ich rufe SQL manuell, oder auch wenn ich einen SqlCommand
mit Entity Framework, aber das ist nicht das, was ich tun will.
Hat jemand jemals in der Lage zu Holen Sie sich die return-Wert einer gespeicherten Prozedur mithilfe von Entity Framework?
Danke für die Hilfe!
ich kann mit der return-Wert, wenn ich rufe SQL manuell, oder auch wenn ich einen SQLCommand mit dem entity framework - das ist Ihre Antwort.
Hoppla mein Fehler, ich habe es unter 50% und vermutet das Schlimmste.
InformationsquelleAutor bugnuker | 2012-04-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nicht. Entity Framework nicht haben reiche Unterstützung für gespeicherte Prozeduren, weil Ihr ein ORM, keine SQL-Ersatz.
Als Sie schon entdeckt haben, wenn Sie verwenden müssen, weniger Häufig (erweiterte?) Eigenschaften von gespeicherten Prozeduren, die Sie verwenden müssen, die guten alten Zeiten ADO.NET.
InformationsquelleAutor jrummell
Ich denke, Unterstützung von gespeicherten Prozeduren, die Werte zurückgeben, hängt von der version von Entity framework. Obwohl direkt der Rückgabe-Wert hat bei mir nicht funktioniert habe ich es geschafft, den Wert mithilfe von OUTPUT-parameter für gespeicherte Prozeduren. Beispiel:
Dies ist test-code:
- Und dies ist die Ausgabe:
Wie Sie sehen direkt Rückgabewert Ausgabe einigen Müll aber OUTPUT-Parameter funktioniert!
Dieser Artikel bietet Allgemeine Informationen über zwei Möglichkeiten der übergabe von Rückgabewerten aus SP
Hoffe, das hilft
InformationsquelleAutor AlexT
War ich in der Lage, um die Rückkehr Wert (und auch output-und input-Parameter) mit Entity Framework 5 (aber ich denke, es funktioniert ab der version 4.x) über den code-first-Ansatz. Aus deinem post kann ich nicht sehen, welche version von EF, den Sie verwenden und wie Sie tun, Ihre Kartierung; wenn Sie erwägen, die Verwendung des code-first-Ansatz finden Sie hier meinen Beitrag mit der Lösung:
Get return-Wert aus der gespeicherten Prozedur
InformationsquelleAutor Daniele Armanasco
Müssen Sie den "Kontext.Datenbank.SqlQuery",und geben Sie die Art der Ausgabe der gespeicherten Prozedur
InformationsquelleAutor Hadi Salehy
Um den interessierten das Ergebnis in EF, sollten Sie wieder eine gleiche Struktur (nicht 1 und Name, IsEnabled)
In dieser Abfrage sollten Sie wieder ",0 zum Beispiel anstelle von 1 in der if-Bedingung:
InformationsquelleAutor Mehrdad