LINQ - groupe / somme de plusieurs colonnes

De données est un fichier CSV qui est chargé dans un ado.net dataset via OleDB. La table a+ de 40 colonnes comprenant les détails de la facture. Chaque ligne est une ligne distincte à l'intérieur d'une facture, qui peut être composé de 1 à n lignes.

La requête est utilisée pour regrouper les détails de la facture en une seule ligne par facture, totalisant le montant de la facture et le solde dû.

Les ouvrages suivants, ce que j'essaie de déterminer:
Est-il possible de le faire en une seule requête?

    //group the invoices by invoicenumber and sum the total
//Zoho has a separate record (row) for each item in the invoice
//first select the columns we need into an anon array   
var invoiceSum =
    DSZoho.Tables["Invoices"].AsEnumerable()
    .Select (x => 
        new {  
            InvNumber = x["invoice number"],
            InvTotal = x["item price"],
            Contact = x["customer name"],
            InvDate = x["invoice date"],
            DueDate = x["due date"],
            Balance = x["balance"],
            } );
    //then group and sum
    var invoiceTotals =
        invoiceSum
        .GroupBy (s => new {s.InvNumber, s.Contact, s.InvDate, s.DueDate} )
        .Select (g => 
            new {
                InvNumber = g.Key.InvNumber,
                InvDate = g.Key.InvDate,
                DueDate = g.Key.DueDate,
                Contact = g.Key.Contact,
                InvTotal = g.Sum (x => Math.Round(Convert.ToDecimal(x.InvTotal), 2)),
                Balance = g.Sum (x => Math.Round(Convert.ToDecimal(x.Balance), 2)),
                } );

source d'informationauteur topry