1
我试图做到这一点有填充像这样Dapper.net与数组元素的数量不详
var filter = new Filter
{
ThingID = 1,
Keywords = new[] { "op", "s" }
};
过滤器对象,然后才能建立这样的查询:
var sb = new StringBuilder();
sb.AppendLine("select * from Stuff where 1=1");
if (filter.ThingID.HasValue)
{
sb.AppendLine(" and ThingID = @ThingID");
}
if (filter.Keywords != null)
{
for (int i = 0; i < filter.Keywords.Length; i++)
{
string keyword = filter.Keywords[i];
if (!string.IsNullOrWhiteSpace(keyword))
{
sb.AppendLine(" and (Model like '%' || @Keywords" + i + " || '%')");
}
}
}
var sql = sb.ToString();
var results = Query<Stuff>(sql, filter).ToList();
这工作正常,如果只是ThingID道具填充,但据我可以告诉Dapper不以任何方式作为参数提供关键字。这对于Dapper来说是可能的,还是只能在“@Keywords中的关键字”的情况下工作?