0

カテゴリ->製品->請求書のカテゴリにある製品を含む最後の請求書を取得できるようにしたい

(from p as Product in cat
 where p.InvoiceList.Where(function(o) o.InvoiceDate >= MAX_ONE)
 select p.InvoiceList.Where(function(o) o.InvoiceDate >= MAX_ONE)
).FirstOrDefault()

これを実現する方法について頭を悩ませているようには思えません。

編集:私の目標を達成するサンプルSQLステートメント。私がそれを翻訳できれば...

SELECT    TOP 1 i.InvoiceID, i.InvoiceDate, i.TotalAmount
FROM         Category as c INNER JOIN
                  Product as p ON p.categoryID = c.categoryID INNER JOIN
                  InvoiceProducts as ip ON ip.productID = p.productID INNER JOIN
                  Invoice as i ON ip.InvoiceID = i.InvoiceID 
WHERE     c.categoryID = 3
ORDER BY InvoiceDate DESC
4

2 に答える 2

1
cat.SelectMany(p => p.InvoiceList).OrderBy(o => o.InvoiceDate).LastOrDefault();
于 2013-01-22T16:15:38.603 に答える
0
var lastInvoice = (from i in context.Invoices
    .where i.Product.CategoryId == categoryId
    .select i)
        .OrderByDescending(i=>i.IbvoiceDate)
        .FirstOrDefault();
于 2013-01-22T16:24:57.630 に答える