我正在使用c#+ EF6尝试对SQL命令进行参数设置时遇到问题。在极少数情况下,我必须使用Context.Database.ExecuteSqlCommand(sqltext)。
问题是这样的:
执行的查询正在使用IN关键字,例如
Analyzer analyzer = new StandardAnalyzer();
MultiFieldQueryParser mParser = new MultiFieldQueryParser(arrSearchFields,
analyzer);
Query keyWordsQuery = mParser.parse(names);
@ids是一个整数列表-如果有一个整数,则由于隐式转换,查询运行正常:
DELETE FROM MyTable WHERE ID in (@ids)
但是当有项目列表时,它将失败,并显示转换错误
exec sp_executesql N'DELETE FROM MyTable WHERE ID IN (@ids)',N'@ids nvarchar(7)',@ids=N'1'
如何构造参数或sq以使用sql参数工作?
提前谢谢...