请问In条件如何查询?

Aug 6, 2009 at 7:14 AM

老大,偶又来请教了~:)

问题:我需要做一个这样的查询: select * from Table1 where Id in (1,2,3)

var ids=new int[]{1,2,3};

MyLinqObject是一个继承了LinqObjectModel<T>的对象。

var list = MyLinqObject.Find(p=>ids.Contains(p.Id));

可是会报错~请问要如何写?

Aug 6, 2009 at 10:05 AM

顺便问一下老大用AND OR替代IN 效率上有多少差别?

Coordinator
Aug 6, 2009 at 10:23 AM
Edited Aug 6, 2009 at 10:25 AM

DbEntry 目前不支持 IN 查询,需要用 AND 代替,或者直接用 SQL 查询。

具体 IN 和 AND 的速度没测试过,不过,我认为应该差别不大吧。

稍微有点儿优化能力的数据库引擎应该都能用相同的算法执行这两种语句,如果有差别可能是在第一次编译语句的时候,不过也基本可以忽略吧。