var customersOrders =
  from c in customers
    from o in c.Orders
    join p in products
        on o.IdProduct equals p.IdProduct
    select new { c.Name, OrderAmount = o.Quantity * p.Price };

foreach (var o in customersOrders) {
  Console.WriteLine(o);
}

Console.WriteLine();

var expr =
  from c in customers
  join o in customersOrders
       on c.Name equals o.Name
       into customersWithOrders
  select new { c.Name,
            TotalAmount = customersWithOrders.Sum(o => o.OrderAmount) };
foreach (var item in expr) {
  Console.WriteLine(item);
}
