In den letzten paar Tagen suche ich nach Tutorials, wie man einen Stored Procedure
von innerhalb einer Web API
Controller-Methode mit EntityFramework 7
aufrufen kann.Wie kann ich eine SQL Stored Procedure unter Verwendung von EntityFramework 7 und Asp.Net 5
Alle Tutorials, die ich durchkam, zeigen es umgekehrt, d. H. Code First
Ansatz. Aber ich habe bereits eine Datenbank an Ort und Stelle und ich muss es verwenden, um eine Web API
zu bauen. Verschiedene Geschäftslogiken sind bereits als Stored Procedures und Views geschrieben und ich muss diese von meiner Web API konsumieren.
Frage 1: Ist es überhaupt möglich, mit Database First
Ansatz mit EF7
weiter zu machen und Datenbankobjekte wie oben zu verbrauchen?
Ich installierte EntityFramework 6.1.3
auf mein Paket durch den folgenden Befehl NuGet
:
install-package EntityFramework
die Version 6.1.3 zu meinem Projekt fügt aber sofort beginnt mir Fehlermeldung zeigt (bitte den Screenshot unten). Ich habe keine Ahnung, wie ich das lösen kann.
Ich habe ein anderes Testprojekt, bei dem in project.json
ich zwei Einträge sehen wie folgt vor:
"EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final", "EntityFramework.MicrosoftSqlServer.Design": "7.0.0-rc1-final",
Allerdings, wenn ich in Nu-Get
Paket-Manager bin auf der Suche, ich don t sehen diese Version! Nur 6.1.3 steht vor der Tür.
Mein Hauptziel ist es, bereits gespeicherte Stored Procedures und Views aus einer bestehenden Datenbank zu konsumieren.
1) Ich will nicht ADO.Net
verwenden, eher würde Ich mag ORM
verwenden mit EntityFramework
2) Wenn EntityFramework 6.1.3
die Fähigkeit Stored Procs
und Views
aus bereits vorhandenen Datenbank zu nennen hat, wie ich den Fehler beheben kann (Bildschirmfoto)?
Was ist die beste Vorgehensweise, um dies zu erreichen?
Wie verwenden Sie derzeit Entity Framework? Könnten Sie ein kleines Beispiel wie Sie es derzeit verwenden? Ich persönlich benutze auch STORED PROCEDURES, die ich hauptsächlich in Controller Action anmelde und die Ergebnisse von Web Api rerringt. Es erlaubt mir, überhaupt keine Klassen (Entitäten) für Tabellen zu definieren.Mein JavaScript-Code hängt von den Namen von Spalten ab, die von STORED PROCEDURES zurückgegeben wurden, nicht jedoch von meinem C# -Code. Siehe [die Antwort] (http://stackoverflow.com/a/34162630/315935). Somit gibt es viele Implementierungsoptionen. Wenn Sie ein Beispiel Ihres aktuellen Codes veröffentlichen würden, wäre es besser zu zeigen, wie Sie helfen können. – Oleg
Sie können die Version 7 von Entity Framework in NuGet wahrscheinlich nicht sehen, weil Sie das Kontrollkästchen "Nur stabil" aktiviert haben. Dies schließt Pre-Release-Versionen aus, und das "rc" in "EF7 rc1" steht für "Release candidate" (d. H. Pre-Prelease). –
@Oleg: Ich habe noch nie Stored Procedure mit EntityFramework verwendet. Aber hier ist die Datenbank bereits erstellt, also muss ich das selbe verwenden. Mein Teil ist es, die Web-API für die laufende Entwicklung der mobilen Version zu entwickeln. Es wäre wirklich eine große Hilfe, wenn Sie mir bitte einen Beispielcode geben. –