我收到了以下代码:
string query = "select * from dbo.Personnel where PersonnelId in ({0})";
string param = "1, 2";
var test = model.ExecuteStoreQuery<Personnel>(query, param).ToList();
我收到以下错误:“将nvarchar值'1,2'转换为数据类型int时转换失败。”...
有谁知道如何解决这个问题?我想要的是select * from dbo.Personnel where PersonnelId in (1, 2)
,但数字可以是任何数字......
答案 0 :(得分:0)
不要向ExecuteStoreQuery
发送参数,只需将{0}
替换为param
string param = "1, 2";
string query = string.Format("select * from dbo.Personnel where PersonnelId in ({0})", param);
或
string query = "select * from dbo.Personnel where PersonnelId in ({0})";
query = query.Replace("{0}",param);
var test = model.ExecuteStoreQuery<Personnel>(query).ToList();