#c# #mongodb
#c# #mongodb
Вопрос:
Я пытаюсь получить второй последний элемент из коллекции Mongodb, чтобы убедиться, что отображаются последние оповещения. «время оповещения» установлено на desc. я получил первый элемент, используя метод firstordefault(), я пробовал разные методы, чтобы получить 2-й элемент, но не смог
Ответ №1:
Вы можете получить только 2 элемента из своего запроса, а затем выбрать последний
collection.AsQueryable().Where(i => i.TestCaseID == CaseID).OrderByDescending(i => i.AlertTime).Take(2).ToList().LastOrDefault();
Комментарии:
1. Отладчик возвращает это исключение: метод LastOrDefault не поддерживается в дереве выражений
2. @NikaMaisuradze в этом случае перед
LastOrDefault()
преобразованием ваших результатов в список:Take(2).ToList().LastOrDefault();
таким образом, вы переносите свои результаты в память, а затем применяете стандартный LinQ (вместо того, чтобы C # пытался преобразовать ваш код в запрос к базе данных). Попробуйте, и я обновлю свой ответ.
Ответ №2:
Извините за поздний ответ
Пропустить (1).FirstOrDefault() сделал свое дело