select * from NT_Resource where ClassID in (select id from dbo.NT_ResourceClass where parentid=1) OR ClassID=1 
请教大侠这个sql写成LINQ怎么写,

解决方案 »

  1.   


                using (DBDataContext db = new DBDataContext())
                {                var query1 = (from c in db.NT_Resource
                                 where db.NT_ResourceClass.Any(d=>d.id== c.ClassID && d.parentid=1)
                                 || c.ClassID== 1
                                 select c);            }
    这样做会生成语句是Exists,不过结果是一样的,而且效率会比In语句要高,我试过用Contains来实现生成语句也是Exists,看看其他人能否有In的写法吧