我遇到了一个我遇到的问题。 其中,我的数据库中有这些表格:
Product (int productId, ...otherProductInfo)
Customer (int customerId, ...otherCustomerInfo)
SoldToData ( int productId, int customerId)
我希望在MVC2中使用Entity Framework获得十大销售产品。我怎样才能做到这一点?
/////////////////////////////////////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ///////////////////////////////// 按照thekip和Pr0fess0rX的建议,这是我到目前为止所做的,它似乎正在起作用:
using (Entities db = new Entities())
{
var groupedProducts = (from p in db.Products
join s in db.SoldToData
on p.productId equals s.productId
group p by p.id
into ProductGroup
orderby ProductGroup.Count() descending
select ProductGroup).Take(10).ToList();
List<Products> products = new List<Products>();
products.AddRange(groupedProducts.Select(gp => gp.First()));
}
这是正确的方法吗?
答案 0 :(得分:4)
如果您有IQueryable来查询数据源,您可以使用orderby等进行排序,然后是Take(10)?
答案 1 :(得分:1)