我有一个表department
,其中包含以下列。
Id (P.K.)
Name
ParentDepartmentId (F.K. of same Department table)
现在我想使用LINQ按层次顺序显示所有数据。像这样的东西:
IT
.Net
Web Developer
Windows Developer
Java
PHP
Technical Support
OffLine
Online
IT部门有3个子部门.Net,Java,PHP。再次.net有自己的子部门Web开发人员和Windows开发人员等等。
如何使用LINQ实现这一目标。我使用的是使用C#,实体框架等的ASP.Net MVC 3.0。
答案 0 :(得分:1)
答案 1 :(得分:0)
您需要使用GroupBy
功能。
答案 2 :(得分:0)
请看这个链接。它使用扩展方法.AsHierarchy()
来表示分层数据
http://www.scip.be/index.php?Page=ArticlesNET18#AsHierarchy
返回的对象将采用树形结构。然后,您必须决定您的表示逻辑(每个子节点的空间)
答案 3 :(得分:0)
您可以在操作代码中构建一组简单的Html,分配您在Action中使用linq获得的值动态生成的HTML的特定值。然后在你查看当你使用viewdata返回它时将其渲染为纯html并使用jquery在这里创建一个jquery树插件的一个很好的例子