請求書を受け取り、添付された各アイテムの数量と単価を検索し、別のリンクされたテーブルで、請求書に対して行われた支払いを検索する LINQ クエリがあります。
現在、これは次のとおりです。
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
}
}
これは、次の結果を示しています。
この LINQ クエリを変更して、SubPrice と SumPayments の合計のみを表示するにはどうすればよいですか (つまり:
請求書 11: SubPrice= 90.00 SumPayments= 24.00
請求書 12: SubPrice=175.00、SumPayments=175.00
助けてくれてありがとう、
マーク
ケネスからの回答に続く実用的な回答を示す更新
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()
}