2014-04-10 22 views
5

Ich benutze Dapper in meinem Projekt. Ich habe eine Liste von SqlParametern und möchte sie an Dapper senden. Aber Dapper braucht ein Objekt (Name, Wert). Wie kann ich einen SqlParameter in ein Objekt konvertieren? Ich weiß, das funktioniert nicht:Sende SqlParameter an Dapper

conn.Query<TModel>(sql, parameters.Select(p => new {p.ParameterName=p.Value})) 

irgendwelche Vorschläge?

Antwort

9

Stolperte über das Suchen nach etwas anderem - aber kann einige Einblicke anbieten, die anderen in der Zukunft helfen können.

Sie können die Dapper.DynamicParameters-Objekt verwenden, Elemente hinzuzufügen, die legal Dapper Abfragen übergeben werden können, das heißt (handcodierte)

var args = new DynamicParameters(new {}); 
parameters.ForEach(p => args.Add(p.ParameterName, p.Value)); 
conn.Query<TModel>(sql, args); 

HTH