2014-04-10 12 views
5

Używam Dapper w moim projekcie. Mam listę SqlParameters i chcę wysłać ją do Dappera. Ale Dapper potrzebuje obiektu (nazwa, wartość). Jak przekonwertować SqlParameter do obiektu. Wiem, że to nie działa:Wyślij SqlParameter do Dappera

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

jakieś sugestie?

Odpowiedz

9

Natknęliśmy się na to, szukając czegoś innego - ale możemy zaoferować wgląd, który może pomóc innym w przyszłości.

Można użyć Dapper.DynamicParameters sprzeciwić się dodać elementy, które mogą być prawnie przekazane do Dapper zapytania, to znaczy (ręcznie kodowane)

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

HTH