max date record in LINQ

六月ゝ 毕业季﹏ 提交于 2020-01-01 01:12:15

问题


I have this table named sample with these values in 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

Now I want to write LINQ query that result will be this:

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

I wrote this but it doesn't work:

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

回答1:


Use:

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



回答2:


To get the maximum Sample value by date without having to sort (which is not really necessary to just get the maximum):

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();

But I think you want

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



回答4:


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

We can get max date from the model like this.




回答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;

Result : Steve Ron Ram John Bill




回答6:


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

This is the best way to do this



来源:https://stackoverflow.com/questions/9143146/max-date-record-in-linq

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!