【发布时间】:2020-10-06 01:15:11
【问题描述】:
在方法的输入,我有一个模型,它由 { “ID”: [ “细绳” ], “状态”:“字符串”, “系统状态”:“字符串” } 我在 ssms 中检查了请求并且它有效,但是在调试此方法时我看到了不同的结果。 dapper 取第一个 id 并返回 1 个用户,但在 sql studio 中返回 6 个人
public async Task<IEnumerable<User>> FindUser(Users model)
{
DynamicParameters parameters = new DynamicParameters();
parameters.Add("@Id", model.Id);
parameters.Add("@Status", model.Status);
parameters.Add("@systemStatus", model.SystemStatus);
IEnumerable<User> items = null;
var sql = @"SELECT statusesid FROM userstatuses WHERE [id] IN (@Id)
AND [status] in (@Status) and [systemStatus] in (@systemStatus)";
try
{
using (var db = new SqlConnection(connectionString))
{
if (db.State != ConnectionState.Open)
await db.OpenAsync();
items = await db.QueryAsync<User>(sql, parameters);
}
}
catch (Exception e)
{
_logger.Error(e);
}
return items;
}
我尝试使用 string.Join(",", model.Id) 但结果相同(如何正确地将列表、字符串和 int 添加到 dapper 选择查询中
【问题讨论】: