Group next class by field CompanyId and add all CampaignId in a list public class ReportWeeklyDTO { public string CampaignId { get; set; } public string CampaignName { get; set; } public int NumberMessages { get; set; } public string User { get; set; } public int SentMessages { get; set; } public int ErrorMessages { get; set; } public string ErrorDescription { get; set; } public string CompanyId { get; set; } }
public class ReportWeeklyDTO { public string CampaignId { get; set; } public string CampaignName { get; set; } public int NumberMessages { get; set; } public string User { get; set; } public int SentMessages { get; set; } public int ErrorMessages { get; set; } public string ErrorDescription { get; set; } public string CompanyId { get; set; } } var query = from e in reportWeeklyDTOs group e by e.CompanyId into companyGroup select new { CompanyId = companyGroup.Key, CampaignIds = companyGroup.Select(x => x.CampaignId).ToList() };