Cannot use a lambda expression as an argument в представление razor

116
21 августа 2019, 00:00
var model = _context.Services
            .Include(b => b.ServiceDetail)
            .ThenInclude(b=>b.Category)
            .ToList();
   return View(model);

В asp.net core передал вот эту модель в view.Связи реализовал как мне надо.
Так вот у меня есть в модели поле типа bool "Attached". Мне нужно вывести значения, где attached == true, а в другой части представления где attached == false.
Пробывал вот так в представление:

@foreach(var sd in Model.Where(a => a.Attached == false))
{ ... }

Выдает ошибку:

Cannot use a lambda expression as an argument to a dynamically dispatched operation without first casting it to a delegate or expression tree type.

Подскажите, как вообще можно решить это. P.S знаю, что можно в контроллере добавить Where, но будет выводить тогда только с одним условием.

Update, примерные связи:
Модель ServiceDetail

public Service Service { get; set; }
public Category Category { get; set; }

Модель Service:

public int Id {get; set;}
public string Url { get; set; }
public virtual IEnumerable<ServiceDetail> ServiceDetail { get; set; }
READ ALSO
Синхронный метод через асинхронный

Синхронный метод через асинхронный

Многие API предоставляют как синхронные, так и асинхронные методы

110
Как реализовать таймаут на C#?

Как реализовать таймаут на C#?

Доброго времени суток всем читающим!

104
Не работает сравнение объектов по полям C#

Не работает сравнение объектов по полям C#

Есть вот такой код для сравнения двух объектовПроблема в том, что if() с проверками на тип, имя и значение полей работает как-то неадекватно

89
Правильно ли я сделал таймер?

Правильно ли я сделал таймер?

Часы, минуты и секунды задаю с инспектораМне не нужен сверхточный таймер, но принцип правильный? А может есть какие-нибудь более легкие способы,...

95