У меня есть запрос Linq, который запрашивает следующие таблицы: Задачи со ссылкой «один-ко-многим»: TaskLinks и TaskLinks имеют одностороннюю единственная ссылка на таблицу под названием Entities..Include() .Where() .Select() в Linq to Entities Query
Я пытаюсь выбрать задачу, загрузить загрузку (через .Include) TaskLinks и выбрать Entity, связанную с TaskLink. Но мне нужно отфильтровать задачу (по уровню доступа int) и TaskLinks, чтобы я не включал записи Inactive (bool).
Вот мой Linq запрос:
Tasks.Where(t => t.AccessLevel <= 5)
.Include(tl => tl.TaskLinks.Where(tl2=> tl2.IfInactive == false)
.Select(tls => tls.Entity))
Я запустить этот запрос в LINQPad, и я получаю следующую ошибку, которую я не понимаю:
ArgumentException: Выражение Включать путь должен относиться к свойства навигации, определенные для типа. Используйте пунктирные пути для ссылочных навигационных свойств и оператор Select для свойств навигации для коллекции. Имя параметра: путь
Как перезаписать этот запрос, чтобы я мог фильтровать включенные объекты задач и выбрать Entity?
Спасибо вам заранее!
Боб
Если вам нужно просто 'Entity' вы можете' Join' таблицы и фильтр по '' AccessLevel' и IfInactive'. –