2012-03-22 15 views
0

日付/時刻の列と人の列を持つテーブルがあります。各人は毎日複数の記録を持っています。私がする必要があることは次にあります:私は各人のための毎日の最初のレコードを取得する必要があります...これは、MVC3のVisual Basicとエンティティのフレームワークで行うことができますか? ありがとうございます。MVC3 VB:日付と時刻で並べ替え

+0

あなたの編集:はい、GroupByをネストできます – Jon

答えて

0

確かにLINQクエリを使用して実行できます。

希望のクエリはあなたにとって役に立ちます。

PersonRecords.GroupBy(pr => pr.Person) 
.Select(pr=>pr.OrderBy(pr1 => pr1.DateTimeField).FirstOrDefault()); 

希望!

1
var results = db.Schedules 
    .GroupBy(s => s.Person) //grouping for each person 
    .Select(s => s.Where(s.DateProp >= DateTime.Today) 
     .OrderByDescending(s => s.DateProp).FirstOrDefault()); //first event today