将SqlParameter发送给Dapper

Mah*_*vcs 5 c# dapper

我在我的项目中使用了Dapper.我有一个SqlParameters列表,我想将它发送给Dapper.但是Dapper需要一个对象(名称,值).如何将SqlParameter转换为对象.我知道这不起作用:

conn.Query<TModel>(sql, parameters.Select(p => new {p.ParameterName=p.Value}))
Run Code Online (Sandbox Code Playgroud)

有什么建议?

Sea*_*eau 12

偶然发现了其他东西 - 但可以提供一些可能在将来帮助其他人的见解.

您可以使用Dapper.DynamicParameters对象添加可以合法传递给Dapper查询的项目,即(手动编码)

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

HTH