在 Asp.net core 5.0 中按计数取相关数据

Taking the related data by count in Asp.net core 5.0

我的查询运行良好,但我获取的数据有一个小问题。

      public IEnumerable<MainCategory> IsFeaturedMainCategoriesRelatedCat(int count)
        {
            return TradeTurkDBContext.MainCategories
                .Where(x => x.MainCategoryIsFeatured == true)
                .Include(x => x.Category)
                .ThenInclude(x => x.Products)
                .AsNoTracking().ToList().GetRange(0, count);
        } 

在该查询中,我从我的数据库中获取所有 Category 数据。我想拿 5 MainCategory ,我想拿 5 Category 和所有 Products 相关的 Category 。 我现在所能做的就是从我的数据库中获取 5 MainCategory 和所有 Category 数据。

MainCategoryCategoryCategoryProducts之间存在一对多关系。

感谢任何建议!

可能您需要 Include 可以限制加载记录的功能,在 EF Core 5 中引入:

public IEnumerable<MainCategory> IsFeaturedMainCategoriesRelatedCat(int count)
{
    return TradeTurkDBContext.MainCategories
        .Where(x => x.MainCategoryIsFeatured == true)
        .Include(x => x.Category.Take(count))
        .ThenInclude(x => x.Products)
        .Take(count)
        .AsNoTracking().ToList();
}