Orchard CMS - 计算容器零件的指定项目

时间:2016-11-25 06:34:57

标签: asp.net-mvc hql orchardcms

我有'关联'内容类型,添加了容器部分。我也有“公司”和“持票人”的内容类型,其中包含可包含的部分。所以协会包含一些公司和承担者。我有查询,它返回我所有的关联。我正在尝试在网格中显示项目(我已经为网格单元格创建了自定义布局提供程序和自定义视图)。它正在工作,但是当我试图从每个协会的容器部件中获取物品时 - 我没有得到它。我的意思是我可以获得Container Part甚至可以获得物品数量,但无法获得公司和承载者的内容物品。它还会显示容器部分中的整个项目数。我需要计算容器部分中的公司数量,排除承载计数。我该怎么做?谢谢!

1 个答案:

答案 0 :(得分:0)

实际的内容项目不存储在ContainerPart上。相反,每个包含项的CommonPart都有一个链接到容器的Container值。您需要使用LINQ来定位CommonPart.Container等于容器的所有ContentItem。

int containerId = containerItem.Id;

var containedList = _contentManager
                .Query<CommonPart>()
                .Join<CommonPartRecord>()
                .Where(x => x.Container.Id == containerId)
                .List();