Linq.Где (Список.Содержит (значение) ) не работает с объектами

#linq-to-entities

#linq-to-entities

Вопрос:

Фрагмент кода

 var list = 
(from item in entitySet.Clients.AsQueryable()
where listOfId.Contains(item.ID.ToString())
select item).ToList();
  

Сообщение об ошибке

LINQ для объектов не распознает метод ‘Boolean Содержит (System.Метод String)’, и этот метод не может быть преобразован в выражение хранилища

Есть какое-либо решение для этого?

Ответ №1:

Попробуйте это:

 var list = 
(from item in entitySet.Clients
join id in listOfId on item.ID equals id
select item).ToList();