Подтвердить что ты не робот

Получить последний элемент с linq в sql

У меня есть это:

var result = (from t in MyDC
              where t.UserID == 6
              orderby t.UpdateTime
              select t.ID).Last();

В принципе, я использую Linq-to-Sql и не поддерживает оператор .Last. Я мог бы получить все записи пользователя, а затем использовать linq для объектов, чтобы получить мою ценность, но мне интересно, как это сделать с помощью linq-to-sql и возвращать только одну запись.

Спасибо за ваши предложения.

4b9b3361

Ответ 1

Просто закажите по убыванию и используйте .First() вместо:

var result = (from t in MyDC  
          where t.UserID == 6
          orderby t.UpdateTime descending
          select t.ID).First();

Ответ 2

Если вы не знаете, что вы сортируете, вы также можете использовать .Skip() и .Take(), чтобы уменьшить количество возвращаемых строк