Dies ist nicht möglich in EF 1.0
Der Grund dafür ist, dass EF gespeicherte Prozedur Werte berücksichtigen werden nur Werte und nicht die Navigation properites sein.
Zum Beispiel hat die Entität Employee mehrere Order-Entitäten. In Reihenfolge haben Sie eine Eigenschaft namens EmployeeID. Wenn die Datenbank Ihre Abfrage mit Include-Anweisungen füllt, erstellt sie eine Projektionsabfrage in SQL, um alle Auftragsdaten zu füllen, die ein bestimmter Mitarbeiter haben könnte.
Also, wenn ich sagte
var Mitarbeiter = context.Employees.Include ("Orders") Wo (e => e.ID == 1) .First().
var Bestellungen = Mitarbeiter.Orders;
Die SQL für die erste Abfrage wird eine Projektions Abfrage erstellen, die Befehle enthalten, wo die EmployeeID = 1.
Nun, wenn Sie Ihre gespeicherte Prozedur ausgeführt wird, das hinter den Kulissen beliebigen Code tun können (in anderen Worten kann es zurückgeben jede Menge von Daten). Wenn SQL also die gespeicherte Prozedur ausführt, wird nur der Code in dieser gespeicherten Prozedur ausgeführt, und es ist nicht bekannt, dass EmployeeID für Order ein FK für diese Eigenschaft ist. Wenn Ihre gespeicherte Prozedur eine Employee-Entität zurückgibt, sehen Sie außerdem ein anderes Szenario, in dem Sie nicht einmal eine OrderID verfolgen müssen.
Um dies jedoch zu umgehen, können Sie Ihre Abfrage in EF mithilfe von Include-Anweisungen einrichten, die gespeicherte Prozeduren spiegeln können. Wenn Sie die richtige Mischung aus .Select- und .Include-Anweisungen verwenden, sollten Sie dasselbe tun können.
ein Duplikat von http://stackoverflow.com/questions/1035677/using-a-stored-procedure-in-entity-framework-how-do-i-get-the-the-entity-to-have – user48545