我需要将一个"id"的数组传递给一个存储过程,删除表中的所有行,除了与数组中的id匹配的行.
我怎么能以最简单的方式做到这一点?
LINQ to SQL在翻译我的一个查询时做了很糟糕的工作,所以我手工重写了它.问题是重写必然涉及一个IN条款,我不能为我的生活弄清楚如何ExecuteQuery为此目的传递集合.我在这里看到的唯一可以提出的就是使用string.Format整个查询字符串来克服它 - 但这会阻止查询在查询缓存中结束.
这样做的正确方法是什么?
注意:请注意我使用的原始SQL传递给 ExecuteQuery.我在第一句话中说过.告诉我使用Contains是没有用的,除非你知道一种混合Contains原始SQL的方法.