Search code examples
sqlodbcienumerabledapperwhere-in

Dapper WHERE IN statement with ODBC


I am using Dapper on ODBC provider, which as known does not support named parameters. For most of my queries I used pseudo named parameters: ?name?. However, when I try to

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

I see that Dapper generates query

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

What should I do to get it work?


Solution

  • This appears to be a bug in dapper. I'll try to fix it for 1.50.2. I've logged it (for tracking purposes) here