我有一本价值观词典,比如"名字":"亚历克斯"
有没有办法把它作为查询的参数传递给Dapper?
下面是一个例子,说明我想做什么.
IDictionary<string, string> args = GetArgsFromSomewhere();
string query = "select * from people where Name = @Name";
var stuff = connection.Query<ExtractionRecord>(query, args);
我有一本价值观词典,比如"名字":"亚历克斯"
有没有办法把它作为查询的参数传递给Dapper?
下面是一个例子,说明我想做什么.
IDictionary<string, string> args = GetArgsFromSomewhere();
string query = "select * from people where Name = @Name";
var stuff = connection.Query<ExtractionRecord>(query, args);
对:
var dbArgs = new DynamicParameters();
foreach(var pair in args) dbArgs.Add(pair.Key, pair.Value);
然后传递dbArgs
而不是args
:
var stuff = connection.Query<ExtractionRecord>(query, dbArgs);
或者,您可以编写自己的类来实现IDynamicParameters
.
请注意,如果您是从一个对象(dapper的常用方法)开始,您也可以使用此模板以DynamicParameters
作为起点:
var dbArgs = new DynamicParameters(templateObject);