当前位置: 首页 > 知识库问答 >
问题:

使用实体框架获得每个类别和子类别中的前5名产品

叶元凯
2023-03-14

我在我的ASP.NET 4.5网络项目中使用了实体框架。我有一个产品表,每个产品都有其类别和子类别。一个类别可能没有子类别。

餐桌产品

  • id
  • 名称
  • category_id
  • 子类别_id
  • 日期

表类别

  • category_id
  • parent_category_id

如果该类别具有parent_category_id=0,则它是父类别,否则它是同一表中另一个类别的子类别。

我想在Entity Framework中创建一个查询,按日期从最新到最早检索每个子类别的前5个产品。

最后,我希望构建表格,显示每个子类别的前5个最新产品。

一个产品只能属于一个子类别。

这类问题的答案只有一个类别,但没有子类别。我的问题针对特定的数据库结构。谢谢

共有2个答案

岳浩宕
2023-03-14
var q= context.Categories
   .Where( c => c.parent_category_id != 0  )
   .Select( c=> new {
        c.categoryName,
        Products = c.products.OrderByDesc(p => p.DateUpdated)
            .Take (5)
            .Select( p => new {
                p.name,
                p.price
            })
    });
严项明
2023-03-14

以下是使用< code>lembda表达式的前5个产品的代码

YourEntities DBContext = new YourEntities();

List<Category> categories = DBContext.categories.Where(d=> d.category_id!=null).ToList();
List<Product> prodcuts = null;
foreach (var item in categories)
{
    prodcuts = DBContext.Products.Where(d => d.category_id== item.category_id)
                 .OrderByDescending(d => d.date)
                                 .Take(5)
                                 .ToList();
}
 类似资料:
  • 问题内容: 我有这样的查询 现在,在我的查询中,我想获得每个类别的前10个产品(按销售量排名最高),并且每个类别我需要前5个子类别(按销售量排名前列) 您可以假设问题陈述是这样的: 按销售获得每个类别的前10个产品,按销售获得每个5个子产品。 这里的类别可以是书籍 产品可以是Harry Porter的书 子产品可以是HarryPorter系列5 样本输入数据格式 输出将是“ 我的查询失败,因为结果

  • 问题内容: 我希望能够为每个菜单返回5个菜单项。我试过这几个脚本,但没有运气。这是桌子 这是我现在所拥有的。我收到以下脚本的错误消息。错误:子查询返回的行数超过1。 任何建议都非常感谢。 问题答案: 您必须为此使用副作用变量

  • 我有以下实体框架的数据模型。 我有一个抽象的产品。每种产品都与一类产品相关。例如: 还有具体的产品: 我有分层类别,例如: 每个类别都有

  • 这是一个产品的表格结构 这是类别的表结构 我在为包括嵌套类别在内的每个类别选择产品计数时遇到困难。例如,类别有1个产品,类别有1个产品,类别有1个产品,并且由于类别和是类别的各自直接/间接祖先,类别有3个产品。所以我需要一个查询或只是一种方法来获得这样的东西: 是否可以只使用SQL,或者我需要添加一些PHP?

  • 我正在尝试创建一个电子商务网站,一个基本的阿里巴巴网站。最终目标是创建彼此不严格相关的n类产品(即鞋子和葡萄酒)。 我的主要问题是找出一种方法来处理与产品表相关的类别表/实体。 产品表将具有通用属性,而ProductCategoryEntity中的属性将特定于类别。 如何创建足够灵活的 ERD 来处理此目标? 我考虑过创建一个product_TO_productCategoryEntity表来链接

  • 使用Laravel 5.6,我试图从MySQL类别表中显示子类别的子类别。我想传递这个名字,并获得它的所有子类,而不管父类是什么。 类别表 期望结果 return App\Category::where('name','Child-1-P-2'))-