方案:
我的模型中有一个字符串属性,其中包含MultiSelectList @Html.ListBox
的ID。如果选择两个列表项,则我的属性值将类似于0100,0500
。
问题:
Dapper where子句仅适用于单个值:
CODE IN (@SomeCode) // for example, 0100 or 0500 returns results
CODE IN (@SomeCode) // 0100,0500 does not return results.
最佳答案
那是因为您不需要告诉Dapper使用括号()
。它会自己做的很好。尝试这个:
var codes = new List<string> { "0100","0500"};
var sql = "select * from SomeTable where CODE IN @codes";
var items = connection.Query(sql, new { codes });
关于dapper - dapper “IN”子句不适用于多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31997381/