var product = (from p in dbContext.Product
join gp in dbContext.GroupProduct on p.Id equals gp.ProductId
where p.IsActive == true && p.ProductStatus == true
join gp in dbContext.GroupProduct on p.Id equals gp.ProductId
where p.IsActive == true && p.ProductStatus == true
select new GroupProductInfo() {Id = gp.Id});
var distinctProduct = product.GroupBy(c => c.ProductId)
.Select(c => c.FirstOrDefault())
.OrderByDescending(c => c.IsRecommend).ToList();