Появляется вопрос об обнаружении EPI, у нас есть веб-продукты и веб-варианты, и при отображении простого списка продуктов на странице категории я правильно показываю следующий результат
Но когда я пытаюсь использовать ту же функциональность для поиска по сайту, это усложняется. У WebProduct есть свойство Brand, тогда как у WebVariants этого свойства нет. Поэтому, когда я ищу «Мой бренд» и получаю доступ к веб-продукту, у которого есть веб-варианты, он не будет отображать веб-продукт, поскольку в этом случае верно условие 2.
Я, с другой стороны, не Я не хочу показывать этот продукт, но я хочу получить варианты для этого продукта ... Это может показаться странным: гримаса:
Я добавлю фрагмент кода, который ставит точки 1 и 2 в работа.
.SearchAndFilterFor(q)
.Filter(x =>
(x.MatchType(typeof(WebVariant))) |
(x.MatchType(typeof(WebProduct)) & ((WebProduct)x).HasVariants().Match(false)))```