我尝试使用LINQ对我的Umbraco(v7)内容树中的所有节点进行分组,但有一个条件:如果某个节点有某个doctype,那么这个节点及其子节点将是组合在一起。
因此,在以下示例中,括号中的别名表示节点的doctype别名:
Page 1 ('Page')
Child 1 ('Page')
Page 2 ('Page')
Page 3 ('Page')
Page 4 ('Article')
Child 2 ('Text')
Child 3 ('Text')
Child 4 ('Text')
第4页与第1页有不同的文档类型,所以它们的孩子应该组合在一起,而Page 1的孩子不会被分组,因为它有(&#39) ; Page')doctype。所有节点的数量应该是' 8'过滤后的节点数应为' 5'
我对此查询的第一次尝试是执行以下操作:
var results = from x in nodes
(x.DocumentTypeAlias == "Article" ?
group x by x.AncestorOrSelf().Id into z :
group x by x into z)
select new{Id = z.Key};
但是,这会导致错误消息"无效的表达式术语' group'" 。有没有解决方案和/或我的逻辑是完全错误的?