У меня проблема с этим запросом, когда я пытаюсь получить сумму и одно значение от одного и того же потомка
Класс 1
class Project{
public int Id { get; set; }
public string Name { get; set; }
public IEnumerable<SubProject> SubProjects { get; set; }
}
Класс 2
class SubProject{
public int Id { get; set; }
public string Description { get; set; }
public IEnumerable<Week> Weeks { get; set; }
}
Класс 3
class Week{
public int Week { get; set; }
public int Hours { get; set; }
}
я пытаюсь получить все недели, в пределах диапазона, для проекта в новом списке классов, подобных этому
class ProjectOverview{
public int Id { get; set; }
public string Name { get; set; }
public IEnumerable<ProjectWeekOverview> Weeks { get; set; }
}
class ProjectWeekOverview{
public int Week { get; set; }
public int TotalHours { get; set; }
}
у меня естьпробовал что-то вроде этого, но я не могу получить за неделю также, если то, что я сделал так далеко, даже правильно
List<Project> projects = { List.Of.Projects };
List<ProjectOverview> overview = projects
.Select(p => new ProjectOverview
{
Id = p.Id,
Name = p.Name,
Weeks = p
.SubProjects
.Select(sp => new ProjectWeekOverview
{
Week = ????,
TotalHours = sp
.Where(w => w.Week >= 30 && w.Week <= 35)
.Sum(w => w.Hours)
})
})
.ToList();
кто-нибудь, кто может помочь с этим?
Редактировать : подпроект может содержать элементы, состоящие из нескольких недель с одинаковой неделей, например, для хранения часов различных действий, сколько времени они заняли
week { week = 10, hours = 3 }
week { week = 10, hours = 4 }
week { week = 11, hours = 3 }
, так что я хочудолжен иметь свойство недели для установленной недели и общее количество часов для суммирования всех часов этой недели