如何在C# LinQ to sql数据上下文中使用IN
运行自定义的sql
语句?我尝试过以下方法:
db.ExecuteCommand(
"UPDATE tblCard SET used = 1 WHERE id IN ({0}) AND customer_id = {1}",
Request.Form["ids"], customer_id
);
这对于单一项目通过表单时没有问题,但是如果例如通过“2,1”发送,则会出现sqlclient
异常:
将nvarchar值“2,1”转换为int数据类型时转换失败。
如果改用string.format插入参数,则可以正常工作,但显然容易受到SQL注入的攻击。