web-dev-qa-db-fra.com

enregistrement de date max dans LINQ

J'ai cette table nommée sample avec ces valeurs dans 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

Maintenant, je veux écrire à la requête LINQ pour obtenir le résultat suivant:

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

J'ai écrit ça mais ça ne marche pas:

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

Utilisation:

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

Pour obtenir la valeur Sample maximale par date sans avoir à trier (ce qui n'est pas vraiment nécessaire pour obtenir simplement le maximum):

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

Mais je pense que tu veux 

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

Nous pouvons obtenir la date maximale du modèle comme celui-ci.

1
Adarsh Babu PR