Есть две сущности, например, job и solution .Каждый из них имеет поле date и поле level и поле Количества .
Необходимо объединить их так, чтобы онисначала сгруппированы по уровням, а затем по месяцам, и в то же время их количество необходимо суммировать.
Я пробовал разные варианты, но ничего не вышло.Основная проблема заключается в группировке по месяцам и суммировании чисел в прилагаемых листах.
Таким образом, выходные данные должны представлять собой одну последовательность суммированных чисел, сгруппированных по уровню, а затем по месяцам.
Например:
var jobs = new List<Job>()
{
new Job { Level = 1, Date = new DateTime(2019, 1, 1), Quantity = 111 },
new Job { Level = 1, Date = new DateTime(2019, 1, 20), Quantity = 222 },
new Job { Level = 2, Date = new DateTime(2019, 2, 1), Quantity = 333 },
new Job { Level = 2, Date = new DateTime(2019, 2, 20), Quantity = 444 }
};
var solutions = new List<Solution>()
{
new Solution { Level = 1, Date = new DateTime(2019, 2, 1), Quantity = 555 },
new Solution { Level = 2, Date = new DateTime(2019, 2, 20), Quantity = 666 },
new Solution { Level = 1, Date = new DateTime(2019, 1, 1), Quantity = 777 },
new Solution { Level = 2, Date = new DateTime(2019, 1, 20), Quantity = 888 }
};
Выход:
- Уровень 1 -> 1 января 2019 -> 1110 (111 + 222 + 777)
- Уровень 1 -> 1 февраля 2019 г. -> 555
- Уровень 2 -> 1 января 2019 г. -> 888
- Уровень 2 -> 1 февраля 2019 г. -> 1443 (333 + 444 + 666)
и так далее.И да, все это в EF6.