当前位置: 代码迷 >> .NET Framework >> EF treeview代码如何搞定
  详细解决方案

EF treeview代码如何搞定

热度:213   发布时间:2016-05-01 23:31:29.0
EF treeview代码怎么搞定
treeview无限级别节点,如何根据输入的某个节点ID用EF查询出父节点或者子节点?SQL我知道用递归可以实现,不知道EF怎么写呢?求指导
------解决思路----------------------
找父节点:
var query = db.Where(x => x.id == node.parentid);

找根节点
while (node.parentid != null)
    node = db.Single(x => x.id == node.parentid);

找子节点
var query = db.Where(x => x.parentid == node.id);

找全部子节点
IEnumerable<Node> getChildren(Node node)
{
        return db.Where(x => x.parentid == node.id)..Concat(db.Where(x => x.parentid == node.id).SelectMany(x => getChildren(x)));
}
  相关解决方案