2016-12-06 3 views
0

Как я могу использовать, когда условие включено? ProgressItems - ICollection <> объект. Я хочу, чтобы весь объект цели был отфильтрован. Как я могу это решить?Использовать, где условия в linq включают

 return _dbContext.Goals 
      .Include(p => p.GoalExpectation) 
      .Include(p => p.ProgressItems.Where(r => r.Value > 100)) 
      .SingleOrDefault(p => p.Id == id); 

я получаю такое исключение

В поле Включить выражение путь должен относиться к навигации собственности , определенной на типе. Используйте пунктирные пути для справочной навигации и оператор Select для сбора информации . Имя параметра: путь

+0

Linq To SQL и Entity Framework не поддерживает фильтрацию. –

ответ

0

Вы не можете, вам придется ограничить его, используя запрос, который может получить включенные элементы с фильтром и назначить его объекту цели.

1

В заявлении о включении ожидается свойство навигации (как говорит ошибка). Чисто синтаксически кажется правильным, что вы делаете, но, похоже, это неправильно, потому что Where не возвращает свойство навигации.