私はMVCプロジェクトに取り組んでいます。foreach反復を使用してビューに表示するには、メニュー項目を4つのグループにグループ化するオブジェクトを返す必要があります。これはビューに渡されるモデルであるため、.cshtmlにバインドできる非ジェネリックコレクションクラスを返す必要があります。
私の考えでは、LINQ内のあるタイプのカウントに基づいてリストをグループ化し、すべての辞書キーに4つの新しいリストアイテムを追加することができます。しかし、辞書に十分な表現は見つかりませんでした。別のメソッドを作成し、コレクションを繰り返してカウントに基づいてキーを割り当てることで、これをかなり簡単に解決できましたが、不要な反復と悪い習慣のようです。
現在、次のクエリを使用しています。
var itemsDict = rssDataContext.rss_Application_Blog_Category_Relationships
.Where(x => x.Application_Blog.rss_Application.ID == 1)
.Where(x => x.Blog_Category_ID == 1)
.Select(x => new MenuItem
{
Name = x.rss_Application_Blog.Blog_Title,
Uri = x.rss_Application_Blog.Blog_Uri,
ID = x.rss_Application_Blog.ID
});
しかし、このクエリを、Dictionary <int、List <MenuItem >>に入力される4つのクラスのグループにグループ化する方法はありますか?