Имеется класс
public class Item {
public int Id { get; set; }
public string Name { get; set; }
public bool IsOutdated { get; set; }
public int Parent_Id { get; set; }
public Item Parent { get; set; }
public ICollection<Item> Children { get; set; }
}
Необходимо вывести все экземпляры этого класса деревом. Использую такое выражение
var result = items.Include(x => x.Children.Select(y => y.Children))
.Where(z => z.Parent_Id == null);
Теперь в полученном дереве необходимо убрать все элементы, у которых IsOutdated = true. Как это сделать?
Думаю это вам должно помочь :
var result = items.Include(x => x.Children.Select(y => y.Children))
.Where(z => z.Parent_Id == null && z.IsOutdated == false);
IdOutDated == false , в том случае если мы хотим получать только свежие данные
Поподробней можно найти на англоязычных форумах где описывается как можно совместить несколько условий в Whereтыц и тыц
Ну и поскольку таблица у нас всего одна - то больше смысла будет в таком запросе :
var reslut = items.Where(z => z.Parent_Id == null && z.IsOutdated == false);
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости