Вы правы, как вы уже догадались, метод ElementAtOrDefault
невозможно перевести на T- SQL, Linq to Entities не смог его распознать. Вы можете использовать методы Skip
и Take
, что-то вроде этого:
.Select(y => y.CreatedAt).OrderByDescending(y => y).Skip(1).Take(1)
В качестве другой альтернативы вы можете использовать .ToList()
или AsEnumerable
методы также как этот ответ { ссылка }, но вы должны знать, используя их после загрузки данных, любая дальнейшая операция выполняется с использованием Linq to Objects над данными, уже находящимися в памяти. Так что, если вам не безразлична производительность, я не уверен, что такой подход будет хорошим выбором в вашем случае.