dapper - dapper “IN”子句不适用于多个值

标签 dapper

方案:

我的模型中有一个字符串属性,其中包含MultiSelectList @Html.ListBox的ID。如果选择两个列表项,则我的属性值将类似于0100,0500

问题:

Dapper where子句仅适用于单个值:

CODE IN (@SomeCode) // for example, 0100 or 0500 returns results
CODE IN (@SomeCode) // 0100,0500 does not return results.

最佳答案

那是因为您不需要告诉Dapper使用括号()。它会自己做的很好。尝试这个:

var codes = new List<string> { "0100","0500"};
var sql = "select * from SomeTable where CODE IN @codes";
var items = connection.Query(sql, new { codes });

关于dapper - dapper “IN”子句不适用于多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31997381/

相关文章:

c# - 如何在 Dapper 中使用泛型和 Nullable<T> 类型进行物化?

c# - dapper 是否可以指示是否存在字段名称不匹配?

sql - 如何将 Dapper 与 MS SQL Server (2012) 地理空间/SQLGeography 列结合使用

c# - 如何在不显式指定主键的情况下使用 Dapper Extensions 将对象插入 PostGreSql?

c# - 使用dapper访问Mysql

dapper - 概览 ASp.NET 和 Dapper.NET

c# - Dapper 函数不映射存储过程中的字符串值,但正确映射其他值

inheritance - Dapper - 映射使用表继承的多个结果集

c# - 使用内联查询进行单元测试 Dapper

c# - 我应该如何使用 Dapper,c# 将数组传递给 FIELD 语句