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

请问一条Linq语句的写法,子级和父级的连表查询


请教一下,关于LINQ查询语句的写法

结构如上图

我现在传入 两个值 Home 和 Index
希望查出 父级Names为Index 子级Names为Home的这条数据

也就是获取 id为 18的这条

用Linq怎么写?

------解决方案--------------------
C# code
var query = from c in DataContextEntity
          where c.Names=="Home" and c.ParentID in
          ( from p in ParentTableName where p.Names=="Index")
          select c;

------解决方案--------------------
这叫 LAMDA表达式:

var cr = db.ControllersRoot.Where(ca => ca.Names == "Home" && ( from p in ParentTableName where p.Names=="Index").Contains(c.ParentID)).FirstOrDefault();