通过CategoryId获得具有比例的产品

时间:2014-01-27 12:41:16

标签: c# .net linq

我的查询

var query = (from p in _productRepository.Table
join pv in _productVariantRepository.Table on p.Id equals pv.ProductId
where p.Published
&& !p.Deleted
&& pv.Published
&& !pv.Deleted
select p);

我的类别树是

383---------->Products GrandParent Category
   389------->Products Parent Category
      606---->Products Category  

以下也可能是产品没有祖父母类别

的情况
384------->Products Parent Category
   401----->Products Category

现在我在所有6个类别中都是最高的,即383-388。

我想从产品列表中提取18种产品,以便将最顶级类别(383-388)的产品划分为相同的产品。即如果383作为Parent或GrandParent类别的产品的数量为50,而385的产品则为25,那么383的产品将是385的两倍 。因此,按父母或祖父母类别的比例选择18种产品。

如果383-388中每一个产品的数量相同,那么将从列表中选择3-3个产品。

请注意,我们可以按product.CategoryIdParentCategoryId_categoryService.GetParentCategoryById(product.CategoryId)

列出产品类别

0 个答案:

没有答案