Я пытаюсь динамически построить оператор LINQ where, но у меня возникают проблемы при попытке написать оператор IN с использованием метода содержимого списка.
Вот мой код:
IQueryable<Customer> customers =
(from cus in objectCustomer
select cus); \\objectCustomer is all customers
//List of customer ID's passed into the method.
string[] sCustomerIDs = (string[])DictionaryParameters["CustomerIDs"];
customers = customers.Where(c => c.Assets.Any(a => sAssetIDs.Contains(a.UN_Asset.ToString())));
return customers.Cast<T>().ToList();
Когда запускается обратная строка, я получаю следующую ошибку: LINQ to Entities не распознает метод метода System.String ToString (), и этот метод невозможно преобразовать в выражение хранилища.
Есть идеи?Если я изменю IQueryable на IEnumerable для выполнения запросов, но мне нужно будет использовать IQueryable, поскольку я использую Entity Framework, а IEnumerable возвращает все записи до того, как мой фильтр будет выполнен.
Большое спасибо.