我正在尝试使用 Dapper SQL 构建器构建动态 WHERE 子句。这适用于除 BETWEEN 之外的所有情况。用 BETWEEN 尝试了以下方法(就像 IN 子句一样)
SqlBuilder sqlBuilder = new SqlBuilder();
var sqlTemplate = sqlBuilder.AddTemplate(@"Select * from tbl_example /**Where**/");
sqlBuilder.Where(@"Col BETWEEN @colparam", new { paramValue });
con.Query(sqlTemplate.RawSql, sqlTemplate.Parameters);
使用 SQL Profiler 时,我观察到从 dapper 生成的查询看起来像
Select * from tbl_example Where Col BETWEEN (@colparam1,@colparam2)
笔记:
- paramValue是我通过 API 接收的整数数组
- 我明白这可以写成Col BETWEEN @colparam1 AND @colparam2或用 < 和 > 替换 BETWEEN