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

把sql语句转为Linq
select * from Core_Module where IsDelete=0 and ModuleType<>3 
and ParentID in(
select ID from Core_Module where ParentID = @parentid union select @parentid as ID ) 
order by sequence

帮忙把这个sql语句转成Linq的形式。其中 @parentid 是传进来的参数

------解决方案--------------------
看来是union select 的问题
先试试 这样行不行:

var query=from c in db.Core_Module
let temp=db.Core_Module.Where(d=>d.ParentID== @parentid).Select(d=>d.ID)
where temp.Contains(c.ParentID) && c.IsDelete==0 && c.ModuleType != 3
orderby c.sequence
select c;