-1

投稿を並べ替えて、最も閲覧された投稿を日付でグループ化して表示し、毎日上位に閲覧された投稿が次の順に表示されるようにします。

このクエリをlinqで作成するにはどうすればよいですか?可能であればメソッドベース。

4

1 に答える 1

1
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;を受け入れるコンストラクターがあると仮定します。合うように変更します。

于 2012-09-17T19:53:06.630 に答える