2017-06-20 4 views
-1

私はこのような表を持って、StartDateから最新のTidを選択するにはどうしたらいいですか? (LINQ)

SLId SId  TId  StartDate 
1  41  1  2017-06-15 
2  104  2  2017-06-16 
3  113  3  2017-06-16 
4  154  4  2017-06-16 
5  17  1  2017-06-19 
6  41  2  2017-06-19 
7  104  3  2017-06-19 
8  282  4  2017-06-19 

どのように私は開始日から最新のTIDは、次の表に変身を選択することができますか? Linqを使用して

Sid Tid 
41 2 
104 3 
113 3 
154 4 
17 1 
282 4 

ありがとうございました! (あなたの結果でユニークである必要があります)

+0

db.someTable.OrderByDescending(P => p.StartDate).GroupBy(P => p.SId).Select(P => p.FirstOrDefault()); –

答えて

1

GroupBy() SIDとOrderBy()開始日

List<int> result = items.GroupBy(x => x.SId) 
         .Select(x => x.OrderBy(y => y.StartDate).Last().TId) 
         .ToList(); 

https://dotnetfiddle.net/iU2PHK

0

あなたのデータセットを持っている場合は、開始日のコラムでそれを注文するなど、最初の結果を選ぶことができますこれ:

var dataset = //fill your dataset;  
dataset.OrderByDescending(x => x.StartDate).First(); 
関連する問題