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

Максимальная запись даты в LINQ

У меня есть таблица с именем sample с этими значениями в MS Sql Server:

 ID    Date    Description
1    2012/01/02 5:12:43    Desc1
2    2012/01/02 5:12:48    Desc2
3    2012/01/03 5:12:41    Desc3
4    2012/01/03 5:12:43    Desc4

Теперь я хочу написать запрос LINQ, результатом будет следующее:

4    2012/01/03 5:12:43    Desc4

Я написал это, но он не работает:

List<Sample> q = (from n in  Sample.Max(T=>T.Date)).ToList();
4b9b3361

Ответ 1

Использование:

var result = Sample.OrderByDescending(t => t.Date).First();

Ответ 2

Чтобы получить максимальное значение Sample по дате без сортировки (что действительно не обязательно, чтобы просто получить максимум):

var maxSample  = Samples.Where(s => s.Date == Samples.Max(x => x.Date))
                        .FirstOrDefault();

Ответ 3

List<Sample> q = Sample.OrderByDescending(T=>T.Date).Take(1).ToList();

Но я думаю, что вы хотите

Sample q = Sample.OrderByDescending(T=>T.Date).FirstOrDefault();

Ответ 4

var lastInstDate = model.Max(i=>i.ScheduleDate);

Мы можем получить максимальную дату из модели следующим образом.

Ответ 5

IList<Student> studentList = new List<Student>() { 
    new Student() { StudentID = 1, StudentName = "John", Age = 18 } ,
    new Student() { StudentID = 2, StudentName = "Steve",  Age = 15 } ,
    new Student() { StudentID = 3, StudentName = "Bill",  Age = 25 } ,
    new Student() { StudentID = 4, StudentName = "Ram" , Age = 20 } ,
    new Student() { StudentID = 5, StudentName = "Ron" , Age = 19 } 
};

var orderByDescendingResult = from s in studentList
                   orderby s.StudentName descending
                   select s;

Результат: Стив Рон Рам, Джон Билл

Ответ 6

var result= Sample.OrderByDescending(k => k.ID).FirstOrDefault().Date;

Это лучший способ сделать это