Entity Framework mit Database.SqlQuery (), wobei Spaltennamen ungültige C # -Mitgliednamen sind

8
  • Entitätsrahmen 6.1

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?

    
TheEdge 11.06.2015, 02:54
quelle

1 Antwort

5

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:

%Vor%     
Jason W 11.06.2015, 03:34
quelle

Tags und Links