EF treeview代码怎么搞定

happydaily 2014-09-28 10:01:40
treeview无限级别节点,如何根据输入的某个节点ID用EF查询出父节点或者子节点?SQL我知道用递归可以实现,不知道EF怎么写呢?求指导
...全文
175 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
threenewbee 2014-09-29
  • 打赏
  • 举报
回复
找父节点: 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))); }
  • 打赏
  • 举报
回复
你可以使用EF执行sql视图呀。
moonwrite 2014-09-28
  • 打赏
  • 举报
回复
触类旁通~ 如果数据少~而且不怎么改变~ 可以使用缓存~然后linq to object递归

17,748

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧