web-dev-qa-db-ja.com

LINQの最大日付レコード

MS SQL Serverにこれらの値を持つsampleという名前のこのテーブルがあります。

 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();
25
Salah Sanjabian

使用する:

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

日付ごとに最大Sample値を取得するにはwithout並べ替えが必要です(最大値を取得するために実際に必要なわけではありません):

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

しかし、私はあなたが欲しいと思う

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

このようなモデルから最大日付を取得できます。

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;

結果:スティーブロンラムジョンビル

0
Parag555