У меня есть локальная коллекция записей Id (целые числа).Проблема Linq to SQL
Мне нужно получить записи, в которых есть каждая из их дочерних записей в этой локальной коллекции.
Вот мой запрос:
public List<int> OwnerIds { get; private set; }
...
filteredPatches = from p in filteredPatches
where OwnerIds.All(o => p.PatchesOwners.Select(x => x.OwnerId).Contains(o))
select p;
Я получаю эту ошибку:
Local sequence cannot be used in Linq to SQL implementation of query operators except the Contains() operator.
Я понимаю, что .Вс() не поддерживается Linq к SQL, но есть способ делать то, что я пытаюсь сделать?
"кроме оператора Содержит". –
Также - почему бы не переместиться более 1000 предметов в «в»? Я делал это много раз без последствий. –
@DavidB - не знал о операторе contains. Вот почему я сказал: «Я не знаю пути ...», вместо «нет». Что касается пересылки более 1000 предметов, которые мы фактически протестировали с этим, и обнаружили, что при некоторых обстоятельствах производительность вашего запроса будет погружаться. Если у вас более 1000 элементов, вы можете повысить производительность запросов, разбив их на 2 или более запросов. – JMarsch