Wie die Rückgabe von Werten aus einer dynamischen SQL-Gespeicherte Prozedur an, die das Entity Framework?

Ich habe eine Gespeicherte Prozedur, die ausgeführt wird, einige dynamische SQL. Ich möchte diese Gespeicherte Prozedur verwenden, die in entity framework 4, aber wenn ich versuche zu erstellen, die eine komplexe Art der Prozedur gibt keine Spalten. Gibt es eine Möglichkeit, ich kann es zwingen, zurück zu kehren, meine Werte bekommen und das entity framework zu erhalten? Hier ist eine stark vereinfachte Beispiel, was ich machen möchte:

CREATE PROCEDURE sp_calculatesalary(@EmployeeId as int)
begin
    declare dynsql as varachar(500)
    @dynsql='Select @Salary=Salary,@UserName=Username from employee
            where EmployeeId='+cast(@EmployeeId as varchar)+ ''
    exec(@dynsql)
    select @Salary, @UserName
end

Aber das funktioniert nicht. Bitte helfen Sie mir. Im Grunde möchte ich eine Gespeicherte Prozedur zum ausführen von dynamischer SQL und Rückkehr der Werte auf das entity framework.

  • Warum verwenden Sie dynamisches SQL für diese ?
  • Ist es nur eine einfache demo-Fall, oder ist Ihre dynamische Erklärung wirklich so einfach wie oben beschrieben? In diesem Fall würden Sie nicht brauchen, dynamischen SQL.
  • Naja...dies ist nur ein einfaches Beispiel..ich Tue etwas Komplex....deshalb ist die Verwendung dynamischer sql...ich möchte es verwenden in entity framework..und bekomme Werte..
  • Kann Sie täuschen, Entity Framework, indem Sie vorübergehend das Inverkehrbringen in dummy-code, die ein ResultSet zurückgibt von dem format, das Sie möchten? Ändern Sie anschließend die Prozedur mit dem tatsächlichen code.
InformationsquelleAutor Vishal | 2010-07-02
Schreibe einen Kommentar