linq to entity - включить с лямбда-выражением - PullRequest
3 голосов
/ 14 февраля 2010

У меня небольшая проблема, которую я не знаю, как исправить. В моем примере ниже я хотел бы выбрать список ProductCategories с активными ProductItems.

public IEnumerable<ProductCategory> ListProductCategories()
        {
            return _entities.ProductCategorySet.Include("ProductItems").Where(x => x.ProductItems.Active == true).ToList();               
        }

Проблема в том, что я не могу получить доступ к свойству productItem Active в моем лямбда-выражении, в чем проблема? Думаю ли я, что я полностью ошибаюсь, когда пытаюсь написать запрос linq, подобный приведенному выше?

1 Ответ

6 голосов
/ 14 февраля 2010

Может быть более одного элемента. Вы, вероятно, хотите выбрать категории, в которых все элементы активны:

return _entities.ProductCategorySet
                .Include("ProductItems")
                .Where(x => x.ProductItems.All(item => item.Active))
                .ToList();
...