Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Grouping / Multiple grouping with LINQ
- Best Type Name
- - Discipline name
- -- Result
- -- Result
- -- Result
- public class CompetitorBest
- {
- public int ResultId { get; set; }
- public string BestTypeName { get; set; }
- public int BestTypeOrder { get; set; }
- public string DisciplineName { get; set; }
- public string ResultValue { get; set; }
- public string Venue { get; set; }
- public DateTime ResultDate { get; set; }
- }
- var bestsGroups = from b in Model.CompetitorBests
- group b by new { b.BestTypeName, b.BestTypeOrder }
- into grp
- orderby grp.Key.BestTypeOrder
- select new
- {
- BestType = grp.Key.BestTypeName,
- Results = grp.ToList()
- };
- foreach (var bestsGroup in bestsGroups)
- {
- <h2>@bestsGroup.BestType</h2>
- foreach (var result in bestsGroup.Results)
- {
- //i am guessing here i'll need another foreach on the discipline group....
- <p>@result.DisciplineName</p>
- <p>@result.ResultId </p>
- }
- }
- from b in Model.CompetitorBests
- group b by new { b.BestTypeName, b.BestTypeOrder } into grp
- orderby grp.Key.BestTypeOrder
- select new
- {
- BestType = grp.Key.BestTypeName,
- Results = from d in grp
- group d by d.DisciplineName into grp2
- select new
- {
- DisciplineName = grp2.Key,
- Results = grp2
- }
- };
- foreach (var bestsGroup in bestsGroups)
- {
- <h2>@bestsGroup.BestType</h2>
- foreach (var discipline in bestsGroup.Results)
- {
- <p>@discipline.DisciplineName</p>
- foreach (var result in discipline.Results)
- {
- <p>@result.ResultId</p>
- }
- }
- }
Add Comment
Please, Sign In to add comment