在 dapper 中,您可以执行以下操作:
var items = connection.Query<Items>("SELECT * FROM `@database`.`table` WHERE `id` IN @idList;", new {database = DatabaseName, idList = someList.Select(n => n.id)});
尝试在 ormlite 中做同样的事情:
var items = connection.Query<Items>("SELECT * FROM {0}`.`table` WHERE `id` IN {1};", DatabaseName, someList.Select(n => n.id)});
返回错误。Dapper 这样创建查询:
SELECT * FROM `someDB`.`table` WHERE `id` IN (1,2,3,4);
ormlite 在哪里生成:
SELECT * FROM `someDB`.`table` WHERE `id` IN [1,2,3,4];
方括号在 MySQL 中无效。可以在 ormlite 中做到这一点吗?
当我尝试使用匿名类列出参数时,如在 dapper 示例中,它找不到第二个参数。