Linq с условием в Include

179
15 сентября 2017, 18:05

Имеется класс

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. Как это сделать?

Answer 1

Думаю это вам должно помочь :

    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);
READ ALSO
js fancybox без кнопок

js fancybox без кнопок

При вызове функции $fancybox

202
Как распарсить строку?

Как распарсить строку?

ПриветЕсть строка, которая может иметь два состояния: 1) Просто число от 1 до 99

253
Не создаётся массив из индексов

Не создаётся массив из индексов

Здравствуйте! Объясните, пожалуйста, почему не работает данный код? var arr = new Array(10)map(function (t, iter) { return iter }); console

321