Я получаю массив строк от моего клиента. Тогда в моем WebAPI я разделить его следующим образомОшибка при попытке использования содержит в Linq
var splitId = string.Join(",", ids);
Тогда я мой Linq запрос я использую выше переменной
Это мой Linq запрос
var query = tableARepository.AsQueryable()
.Where(a=> splitId.Contains(a.Id.ToString()))
.Select(a => new {
Id = a.Id
, Name = a.Name
, FkId = tableBRepository.AsQueryable().Min(b => b.fkid=a.id)
});
Я получаю это исключение:
LINQ to Entities не распознает метод 'System.String ToString()', и этот метод не может быть переведен в хранилище expressi . ","
Это из-за Содержит. Как я могу исправить эту ошибку?
Вы разделили его, используя 'string.Join (", ", ids)'? Вы имеете в виду, что вы объедините их всех в одну строку. –
Какой тип 'a.Id'? И считали ли вы негативные последствия использования списка, разделенного запятыми? (Представьте, что есть идентификатор «x», а другой «xy» - вам действительно нужно, чтобы запись 'x' соответствовала, когда кто-то ищет' xy'?) –
@JonSkeet a.Id является integet. У меня нет проблемы с получением разных записей. – Happy