使用 ODBC 的 Dapper WHERE IN 语句

Dapper WHERE IN statement with ODBC

我在 ODBC 提供程序上使用 Dapper,众所周知,它不支持命名参数。对于我的大多数查询,我使用了伪命名参数:?name?。然而,当我尝试

 string query = $"select * from \"{TableName}\" where ID in ?Ids?";
 return connection.Query<CdfGroupByCdfUserRecord>(query, new {Ids = ids}).ToArray();

我看到 Dapper 生成查询

select * from "MY_TABLE" where ID in (?Ids1,?Ids2,?Ids3,?Ids4,?Ids5)?

我应该怎么做才能让它发挥作用?

这似乎是 dapper 中的一个错误。我会尝试为 1.50.2 修复它。我已经记录了它(用于跟踪目的)here