it-swarm.com.de

max. Datumseintrag in LINQ

Ich habe diese Tabelle mit den folgenden Werten in MS SQL Server benannt:

 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

Nun möchte ich eine LINQ-Abfrage schreiben, die zu folgendem Ergebnis führt:

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

Ich habe das geschrieben, aber es funktioniert nicht:

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

Benutzen:

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

Um den maximalen Sample-Wert nach Datum zu erhalten, ohne dass sortiert werden muss (was nicht unbedingt erforderlich ist, um nur das Maximum zu erhalten):

var maxSample  = Samples.Where(s => s.Date == Samples.Max(x => x.Date))
                        .FirstOrDefault();
20
BrokenGlass
List<Sample> q = Sample.OrderByDescending(T=>T.Date).Take(1).ToList();

Aber ich denke du willst 

Sample q = Sample.OrderByDescending(T=>T.Date).FirstOrDefault();
2
Albin Sunnanbo
var lastInstDate = model.Max(i=>i.ScheduleDate);

Wir können so ein maximales Datum vom Modell erhalten.

1
Adarsh Babu PR
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;

Ergebnis: Steve Ron Ram John Bill

0
Parag555