Ich habe eine gespeicherte Prozedur, die das folgende Ergebnis zurückgibt:
Natürlich sind diese Feldnamen keine gültigen Bezeichner für das resultierende POCO, das ich zu:
modifiziert habe %Vor%Als Ergebnis des Eigenschaftsnamens ändern Sie Folgendes:
%Vor%gibt NULL-Werte zurück, da die Namen nicht übereinstimmen.
Also versuche ich herauszufinden, wie ich den SP-Aufruf ausführe, aber einen generischen Typ zurückgebe, so dass ich die Übersetzung zwischen dem, was zu meinem Adhoc_UspGetPassengerCountByAgeReturnDto zurückgegeben wird, machen kann.
Kann mir bitte jemand in die richtige Richtung zeigen?
Leider ist das Mappen von Spalten nicht möglich. Dies wurde seit Jahren angefordert und erhält Unterstützung, die es schließlich zu "vorgeschlagen" Status auf Codeplex, aber es ist nur noch nicht mit SqlQuery.
Link: Ссылка
Aktualisierung mit Workaround
Wenn Sie Ihren gespeicherten Prozess ändern können, ist dies der beste Weg, um die Felder zusammenzuführen. Wenn das nicht möglich ist, können Sie eine Tabellenvariable erstellen, die die gewünschten Ausgabespalten enthält, die Ihrem poco entsprechen, dann INSERT/EXEC
in die Tabellenvariable und schließlich SELECT *
aus der Tabellenvariablen. Ihr SQL-Befehl wird dann zu:
Tags und Links sql-server c# entity-framework