投稿を並べ替えて、最も閲覧された投稿を日付でグループ化して表示し、毎日上位に閲覧された投稿が次の順に表示されるようにします。
このクエリをlinqで作成するにはどうすればよいですか?可能であればメソッドベース。
投稿を並べ替えて、最も閲覧された投稿を日付でグループ化して表示し、毎日上位に閲覧された投稿が次の順に表示されるようにします。
このクエリをlinqで作成するにはどうすればよいですか?可能であればメソッドベース。
int postsPerDay = 5;
var topPostsByDate = Posts
.GroupBy(post => post.Date)
.Select(grp => new
{
Date = grp.Key,
TopPosts = grp
.OrderByDescending(post => post.Views)
.Take(postsPerDay)
.Select(post => new Post(post))
})
.OrderByDescending(x => x.Date);
編集:データ行から新しいPostオブジェクトを作成します。PostにDataRow
;を受け入れるコンストラクターがあると仮定します。合うように変更します。