我有一個標準的商店架構與包含產品的InvoiceLine表。我希望以銷售列表的形式列出前5名產品。最乾淨的方法是什麼?這不可能是最好的方法:最受歡迎GroupBy與Linq實體
private List<Product> GetTopProducts(int count)
{
var topProducts = from invoiceLine in storeDB.InvoiceLines
group invoiceLine by invoiceLine.ProductId into grouping
orderby grouping.Count() descending
select new
{
Products = from Product in storeDB.Products
where grouping.Key == Product.ProductId
select Product
};
return topProducts.AsEnumerable().Cast<Product>().Take(count).ToList<Product>();
}
您的模型中有可見的FK,Jon?您沒有,例如InvoiceLine.Product生成的屬性? – 2010-02-26 00:45:28
我確實有一個InvoiceLine.Product。謝謝。那麼返回它們最乾淨的方法是什麼? – 2010-02-26 00:54:15