首页 新闻 赞助 找找看

C#+sqlserver 将一个列表数据转成临时表

0
[已解决问题] 解决于 2012-05-25 11:18

比如我C# 里有有个int[]{1,2,3,4,5,6} 的数组

然后我要用这些ID,去查对应的数据用in的话感觉数据多的时候效率太低了

有没有类似这种方式  select * from xxxx inner join int[]{1,2,3,4,5,6}

sixserve的主页 sixserve | 初学一级 | 园豆:21
提问于:2012-04-12 18:45
< >
分享
最佳答案
0

可以使用SQL Server 2008的Table-Valued Parameters

参考文章:Arrays and Lists in SQL Server 2008 Using Table-Valued Parameters

奖励园豆:5
dudu | 高人七级 |园豆:31075 | 2012-04-13 09:51

看不太懂啊

sixserve | 园豆:21 (初学一级) | 2012-04-13 11:54

@sixserve: 学习了一下一楼的链接,这个要求有点苛刻,必须Sql Server2008以上,而且必须直接用原始的ADO.NET,LINQ和EF都没法支持,所以还是直接In吧。

ChatinCode | 园豆:2272 (老鸟四级) | 2012-04-13 14:00
其他回答(1)
0

使用in的话,当in的数据很多的时候,sqlserver会自动将他们组成一个临时表,再连接

小小刀 | 园豆:1991 (小虾三级) | 2012-04-13 20:23
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册