Ответ 1
Использование:
var result = Sample.OrderByDescending(t => t.Date).First();
У меня есть таблица с именем 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();
Использование:
var result = Sample.OrderByDescending(t => t.Date).First();
Чтобы получить максимальное значение Sample
по дате без сортировки (что действительно не обязательно, чтобы просто получить максимум):
var maxSample = Samples.Where(s => s.Date == Samples.Max(x => x.Date))
.FirstOrDefault();
List<Sample> q = Sample.OrderByDescending(T=>T.Date).Take(1).ToList();
Но я думаю, что вы хотите
Sample q = Sample.OrderByDescending(T=>T.Date).FirstOrDefault();
var lastInstDate = model.Max(i=>i.ScheduleDate);
Мы можем получить максимальную дату из модели следующим образом.
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;
Результат: Стив Рон Рам, Джон Билл
var result= Sample.OrderByDescending(k => k.ID).FirstOrDefault().Date;
Это лучший способ сделать это