我正在尝试运行以下查询但收到错误。
conn.Query("select d.ID, d.CategoryID from Document d inner join @Cases c on d.CaseID = c.ID", new { Cases = new List<string> { "000-6575-101", "5902-205" }});
当我运行命令时,我收到Incorrect syntax near ','.
我的问题是,甚至可以做一些像我在做的事情吗?
答案 0 :(得分:4)
Dapper支持此方案的in
语法:
var ids = new List<string> { "000-6575-101", "5902-205" };
conn.Query("select d.ID, d.CategoryID from Document d where d.CaseID in @ids", new { ids});
这是少数情况下,dapper实际上会更改您的查询以执行您想要的操作(同时保持完全参数化等)。
它还支持(可选,请参阅SqlMapper.Settings
):
string_split
表示整数类型(List<int>
等)