Я пытаюсь выполнить запрос, который включает подзапрос, который сам включает в себя группирование.
Я основал свой код на ответах на этот вопрос
Целькод должен выполнить простую дедупликацию таблицы 'person' на основе адреса электронной почты и вернуть последнюю строку person.
var innerQuery = (from p in db.Person
join r in db.Registration on p equals r.Person
join e in db.EventDetail on r.EventDetail equals e
where e.Client.ClientID == clientID
group p by p.Email into g
select g.Max(p => p.PersonID));
var query = (from p2 in db.Person where innerQuery.Contains(p2.PersonID) select p2);
Когда попытка запроса выполняется, я получаю следующее сообщение об ошибке:
LINQ to Entities не распознает метод 'Boolean Contains [Int32] (System.Linq.IQueryable`1 [System.Int32], Int32)', и этот метод нельзя преобразовать ввыражение хранилища.
Я проверил внутренний запрос, и он просто возвращает список целых чисел, как и ожидалось, но запрос завершается неудачно с сообщением выше.
Любая помощь очень ценится.