【发布时间】:2011-01-24 04:33:41
【问题描述】:
我们正在动态构建一些 SQL 语句,并且我们正在使用 IN 运算符。如果我们的值是这样的值的集合:
List<Guid> guids = new List<Guid>()
我希望能够向我的子句生成器提供“指导”,让它验证类型,如果它是可枚举的,则创建一个子句,如:
IN ( {Guid1}, {Guid2}, {Guid3} )
像这样检查值是否为 IEnumerable:
if (value is IEnumerable)
在传入字符串时会掉下来(这种情况经常发生:))。验证这种情况的最佳方法是什么?
【问题讨论】:
-
请不要自己构建sql。要么使用 LINQ(我不喜欢它),要么使用其他机制。如果不重新部署应用程序以进行微小的查询更改,不仅难以调试、难以维护,而且总是存在需要处理的 sql 注入问题。
-
不是一个选项。 :|相信我,我会在心跳中使用 Linq。
标签: c# collections type-equivalence