Project オブジェクトの配列があります。
IEnumerable<Project> projects = GetProjects();
各プロジェクトには、文字列の配列である「アプリケーション」と呼ばれるプロパティがあります。
IEnumerable<string> applicationsForProject = project.Applications();
一部のプロジェクトには 1 つのアプリケーション (配列内の 1 つの要素) がありますが、他のプロジェクトには多数のアプリケーションがあります。
次のようなビューを生成できるように、個々のアプリケーションごとにすべてのプロジェクトをグループ化したいと考えています。
- アプリ 1: 10 プロジェクト
- アプリ 2: 4 つのプロジェクト
- アプリ 3: 5 つのプロジェクト
私がこれを行う場合:
var projectsByApp = projects.GroupBy(r=>r.Applications);
これは、個別のアプリケーションではなくリストによってグループ化されるため、ビューに重複した行が表示されます (プロジェクト 1 には App1 と App 2 があり、プロジェクト 2 には App 2 だけがある可能性があるため)。
プロジェクトの配列全体で個別のアプリケーション名でグループ化するより良い方法はありますか?