日期:2014-05-20  浏览次数:20716 次

请教linq的in如何实现
请教一个问题,如何实现这个sql语句delete from table where id in (1,2,3,4,5,6,7)
上网找了好多教程都是传入一个string的list数组,然后用该对象的string类型主键然后用contains方法做in
但是我这个id是int类型的,就不行了,直接用tostring方法然后contains那个id集合却会出错,请教各位大哥这个该如何用linq实现呢?

------解决方案--------------------
C# code
var query = from x in table
            where new int[] { 1, 2, 3, 4, 5, 6, 7 }.Contains(x.id)
            select x;

------解决方案--------------------
查找的话 .Contains 没有问题的~

但是你的是删除 EF 或者linq2sql 批量删除实现这样的in 操作 是没法做的 

要自己扩展~

建议你直接执行sql语句 来实现批量删除