Linq-Abfrage, Summe der Werte aus den Tabellen

Habe ich eine LINQ-Abfrage, die nimmt eine Rechnung, sieht die Menge und Einzelpreis für jedes Element befestigt, und in einer anderen verknüpften Tabelle sieht bis alle Zahlungen erfolgen gegen Rechnung.

Dies ist aktuell:

from i in Invoices
select new
{
i.InvoiceId, i.CustomerName,
Items =
    from it in InvoiceItems
    where i.InvoiceId == it.InvoiceId 
    select new { 
    it.Item, 
    it.Quantity, 
    it.UnitPrice,
    SubPrice=it.Quantity*it.UnitPrice
    },
Payments = 
    from pi in PaymentInvoices
    where i.InvoiceId == pi.InvoiceId 
    select new {
    SumPayments=pi.AmountAllocated
    }
}

Diese zeigt die folgenden Ergebnisse:

Linq-Abfrage, Summe der Werte aus den Tabellen

Wie kann ich das ändern LINQ Abfrage zeigen nur die Summe der SubPrice und SumPayments (ie:

Rechnung 11: SubPrice= 90.00 SumPayments= 24.00

Rechnung 12: SubPrice=175.00, SumPayments=175.00

Danke für jede Hilfe,

Mark

UPDATE ZEIGT ARBEITEN BEANTWORTEN, FOLGENDE ANTWORT VON KENNETH

from i in Invoices
select new
{
    InvoiceID = i.InvoiceId, 
    CustomerName = i.CustomerName,
    SubPrice = InvoiceItems.Where(it => it.InvoiceId == i.InvoiceId).Select(it => it.Quantity*it.UnitPrice).Sum(),
    SumPayments = PaymentInvoices.Where(pi => pi.InvoiceId == i.InvoiceId).Select(pi => pi.AmountAllocated).Sum()
}
InformationsquelleAutor Mark | 2013-05-17
Schreibe einen Kommentar