情境:
我的模型中有一个字符串属性,用于保存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.
答案 0 :(得分:4)
那是因为你不需要告诉Dapper使用括号()
。它会自己做得很好。试试这个:
var codes = new List<string> { "0100","0500"};
var sql = "select * from SomeTable where CODE IN @codes";
var items = connection.Query(sql, new { codes });