我有一个List(Of String),对应于数据库表中的"types".
我们正在使用DB2 ADO.NET提供程序,我的最终查询需要看起来像这样:
select * from table where type in (@type1, @type2, @type3, @type4)
Run Code Online (Sandbox Code Playgroud)
在过去,我使用ForEach循环构建了查询参数/主机变量列表,但我真的想找到一种方法来在一行中构建它们.当然,我可以加入所有字符串,但添加"@"和递增数字让我感到头疼.
任何人对如何做到这一点都有任何想法?
Str*_*ior 12
不会有这样的工作吗?
var inList = "(" + string.Join(", ", typeList.Select(t => "@" + t)) + ")";
Run Code Online (Sandbox Code Playgroud)
根据你的评论,这个怎么样?
var inList = "(" +
string.Join(", ", Enumerable.Range(1, argCount).Select(i +> "@type" + i)) +
")";
Run Code Online (Sandbox Code Playgroud)
小智 5
这就是我通常这样做的方式
string.Join(",", items.Select(i => $"'{i}'");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12396 次 |
| 最近记录: |