Linq фильтрация результата

181
31 января 2019, 10:10

Столкнулся с проблемой делаю запрос к БД

public class LinkTabProductCategory
{
    [Key]
    public int Id { get; set; }
    public int ProductId { get; set; }
    [JsonIgnore]
    public Product Product { get; set; }
    public int CatalogSubSectionId { get; set; }
    public CatalogSubSection CatalogSubSection { get; set; }
}
var result = DataContext.Product                    
                .Include(o => o.Offers)
                        .ThenInclude(p => p.Prices)
                            .ThenInclude(t => t.Type)
                .Include(p => p.Brand)
                .Include(tb=>tb.LinkTabProductCategories)
                .Where( p=>p.LinkTabProductCategories **???** == id)
                .ToList();

И нужно отфильтровать, получив только те объекты которые имеют связь с записями таблицы LinkTabProductCategories у которых поле CatalogSubSectionId равняется заданной переменно Id.

Так же буду очень благодарен за наводку на документацию (или подобного) по Linq кроме MSDN соответственно.

Спасибо

Answer 1

Используйте метод расширения Any(predicate) — он возвращает true, если в последовательности существует хотя бы один элемент, удовлетворяющий условию predicate:

.Where(p => p.LinkTabProductCategories.Any(c => c.CatalogSubSectionId == id))
READ ALSO
Как собрать сборку Chromium (CEF) с видео кодеками? [закрыт]

Как собрать сборку Chromium (CEF) с видео кодеками? [закрыт]

подскажите пожалуйста, как собрать сборку Chromium с видео кодекам? интересует воспроизведение видео в программе где будет использоваться Chromiumнужен...

179
c# WinForms UserControl утечка памяти

c# WinForms UserControl утечка памяти

друзьяРазрабатываю масштабный проект на c# WinForms, столкнулся с проблемой утечки памяти

159
Как в WPF в Textbox обойти string.Empty?

Как в WPF в Textbox обойти string.Empty?

Есть некоторая форма (её часть):

161
Почему не отправляется письмо с помощью Mailgun APi?

Почему не отправляется письмо с помощью Mailgun APi?

Пытаюсь отправить письмо с помощью MailGun APIИмею следующий код:

214