小巧玲珑" IN"子句不使用多个值

时间:2015-08-13 20:01:50

标签: dapper

情境:

我的模型中有一个字符串属性,用于保存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.

1 个答案:

答案 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 });