2016-11-25 2 views
0

У меня есть тип контента «Ассоциация» с добавленной частью контейнера. У меня также есть типы «Company» и «Bearer», которые содержат Containable Part. Таким образом, Ассоциация содержит некоторые компании и носители. У меня есть запрос, который возвращает мне все ассоциации. Я пытаюсь показать элементы в сетке (я создал собственный поставщик макета и пользовательский вид для ячейки сетки). Он работает, но когда я пытаюсь получить элементы из Контейнерной части для каждого ассоциатанта - я не понимаю. Я имею в виду, что я могу получить часть контейнера и даже могу получить количество элементов, но не могу получить элементы контента для компаний и носителей. Также он покажет мне весь список предметов в Контейнерной части. Мне нужно получить количество компаний в Контейнерной части, исключить количество носителей. Как мне это сделать? Благодаря!Orchard CMS - подсчитывать указанные элементы части контейнера

+0

Это поможет, если вы разделите код – ErMasca

ответ

0

Фактические элементы контента не хранятся в контейнере. Вместо этого в CommonPart каждого содержащегося элемента есть значение контейнера, которое ссылается на контейнер. Вам нужно использовать LINQ для поиска всех ContentItems, у которых CommonPart.Container равен вашему контейнеру.

int containerId = containerItem.Id; 

var containedList = _contentManager 
       .Query<CommonPart>() 
       .Join<CommonPartRecord>() 
       .Where(x => x.Container.Id == containerId) 
       .List(); 
Смежные вопросы