我需要得到产品的数量。我有两个实体,第一个是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();