哪种方法更适合获取实体的编号



我需要得到产品的数量。我有两个实体,第一个是SubCatgory,第二个是Product。所以我有两种方法来获取产品数量。第一个:

var subcatgory = await _context.SubCategories.FirstOrDefaultAsync(m => m.Id == id);
int productCount = await _context.Products.CountAsync(p => p.SubCatgoryId == id);

第二:

var subcatgory = await _context.SubCategories.Include(s => s.Products).FirstOrDefaultAsync(m => m.Id == id);
int productCount = subcatgory.Products.Count();

哪一个在性能方面更好?为什么?提示:我也需要附属目录。

感谢您的回答

尝试以下查询。它在一次往返中返回数据到数据库。

var result = await _context.SubCategories
.Where(m => m.Id == id)
.Select(sc => new 
{
Subcategory = sc,
ProductCount = sc.Products.Count()
})
.FirstOrDefaultAsync();

最新更新