Привет коллеги. Есть данные по заказам, кто делает и сколько дней, вытянул основные поля это имя сотрудника и кол-во дней на выполнение заказа:
new OrderDetailsMini()
{
name = detailse.Employee.Name,
days = detailse.Price.TimeCraft * detailse.Count
});
Таких вот строк в коллекции много. Как мне сгруппировать людей по имени и посчитать сумму всех дней, которые им нужны на заказы? Можно это в LINQ сделать или нет? В SQL то легко, а вот что-то с EF я немного застрял.
Для группировки данных используйте GroupBy
, для суммирования - Sum
. Пример:
data
.GroupBy(x => x.name, x=>x.days)
.Select(x => new OrderDetailsMini {name = x.Key, days = x.Sum()})
Смею поправить
static void Main(string[] args)
{
List<OrderDetailsMini> datal;
datal = new List<OrderDetailsMini>();
datal.Add(new OrderDetailsMini("Ваня", 15));
datal.Add(new OrderDetailsMini("Ваcя", 25));
datal.Add(new OrderDetailsMini("Егор", 5));
datal.Add(new OrderDetailsMini("Ваня", 15));
datal.Add(new OrderDetailsMini("Вера", 8));
datal.Add(new OrderDetailsMini("Егор", 21));
var spor = datal.GroupBy(x => x.name, x => x.days).Select(x=> new
OrderDetailsMini (x.Key, x.Sum())).ToArray();
foreach (var item in spor)
{
Console.WriteLine("Name :{0}, days total :{1}",item.name, item.days);
}
}
class OrderDetailsMini
{
public string name;
public int days;
public OrderDetailsMini(string name, int days)
{
this.name = name;
this.days = days;
}
}
Результат во изображении
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Пишу пробное приложение, простой рекордер стрима со штатной камеры и запись вmp4
Выбирается третий элемент в dataGridVie2, хотя нажимаю на любойКак сделать чтобы в dataGridView2
Здравствуйте, есть проблема с доступом к ключу, который создан через *reg файл
Как добавить в своей программе на c# WinForms searcher , при нажатии которого будет выскакивать проводник и нужно будет выбрать файл , после чего содержание...