Wenn EF6 Database First verwendet wird und versucht wird, eine gespeicherte Prozedur auszuführen, fügt der automatisch generierte Kontext die erforderliche Methode hinzu, legt jedoch den Rückgabetyp als ObjectResult fest. Zum Beispiel der folgende Definition:EF 6 DataBase Erste gespeicherte Prozedur
public virtual ObjectResult<USP_GetItemDetails_Result> USP_GetItemDetails(int? itemNbr, int? siteNbr)
Hat den Rückgabetyp:
return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<USP_GetItemDetails_Result>("USP_GetItemDetails", itemNbr, siteNbr);
Gibt es trotzdem, dieses Ergebnis als nur die konkrete Klasse zu verwirklichen, anstatt das Ergebnis als Object zu schicken? Die nächste Schicht in meinem Stapel kennt Entity Framework nicht.
Wenn es relevant ist, ist der Rückgabetyp der gespeicherten Prozedur ein komplexer Typ, der keiner der DB-Entitäten entspricht (es handelt sich um eine Verschmelzung einiger lokaler Informationen und Daten von einem verbundenen Server) – Sykomaniac
warum nicht das Ergebnis zuordnen dich in eine neue Klasse? –
könnte ich das tun, aber dann würde ich später wieder zuordnen, wenn ich die Ergebnisse als dto über Web-API zurückgeben. – Sykomaniac