[英]How can I do a multi level parent-child sort using Linq?
如果我有一个如下所示的表结构,如何使用Linq进行多级父子排序:
[Table: Sections] Id Seq Name ParentSectionId 1 1 TOP NULL 2 1 AAAA 1 3 2 SSSS 1 4 3 DDDD 1 5 1 SectionA1 2 6 2 SectionA2 2 7 1 SectionS1 3 8 3 ASummary 2
预期排序结果:
TOP AAAA SectionA1 SectionA2 ASummary SSSS SectionS1 DDDD
使用邻接列表执行分层搜索/排序并不容易,尤其是在Linq中。
我不会在这里编写一大块代码来执行此操作,而是将您推荐给已经完成此操作的其他人:
这会将邻接列表转换为实际的树结构,然后以分层方式轻松显示/搜索/排序。
我想这会做到的。 这是未经测试的,所以让我知道:
from section in db.Sections
group section by section.ParentSectionId into childGroup
orderby childGroup.Key
from childSection in childGroup.OrderBy(child => child.Seq)
select childSection
我打赌
from section in db.Sections
where section.sec=0
orderby section.Name
就足够了,只有你必须指定状态LoadWith语句,Linq才能完成剩下的工作
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.