Fangen wir damit an, das aus dem Weg zu räumen: Ich stecke mit einer MS Access DB fest und kann sie nicht ändern.
Das funktioniert gut:
%Vor%Das funktioniert gut:
%Vor%Dies geschieht nicht ... es wird ohne Fehler ausgeführt, aber es setzt den Vornamen als "SomeCity" in der DB und die Stadt als "John":
%Vor%Irgendwelche Ideen?
BEARBEITEN SIE UNTEN
Dapper funktioniert, wenn ich DynamicParameters verwende:
%Vor%Nach einigem Graben konnte ich eine Ursache finden:
Unten ist der CreateParamInfoGenerator-Delegat von dapper's SqlMapper:
%Vor%Die Requisiten sind Ihr einhelliger Parameter, der von OrderBy (p = & gt; p.Name) neu geordnet wird, was die Stadt im Voraus bewegt.
%Vor%Props wird dann zu den IDbCommand-Parametern hinzugefügt, wobei die Reihenfolge wichtig ist.
Wenn ich die OrderBy () -Klausel auskommentiere, funktioniert alles.
Ich habe auch DynamicParameters getestet und die Attribute für das Verschieben von Stadt absichtlich neu geordnet:
%Vor%Das obige hat nicht so gut funktioniert, deshalb ist die Reihenfolge der Attribute der Grund!
Ich denke, Sie können Ihre lokale Kopie von SqlMapper vorerst ändern und OrderBy () entfernen und auf ein offizielles Urteil von Marc warten ...
Hoffe, das hilft.