I am trying to generate a LINQ Query Statement in C#
My Sql query is ;
select c."Id", c."Name" ,count(*) as "PolicyCount" from "Customers" c
join "PolicyDriver" pd on c."Id" = pd."CustomersId"
join "PolicyOverview" po on pd."PolicyOverviewId" = po."Id"
inner join "Setup" s on s."Id"=po."SetupId"
group by c."Id"
This sql query gave me the solution that i want in PostgreSQL. In c# I converted to this query to :
var mergedQuery = await (from cc in context.CustomersEntity
join pd in context.PolicyDriver on cc.Id equals pd.CustomersId
join po in context.PolicyOverview on pd.PolicyOverviewId equals po.Id
join s in context.Setup on po.SetupId equals s.Id
group po by new { cc.Id, cc.Ids, cc.Name, po.Status, po.MobilePhone, po.HomePhone, po.WorkPhone } into grp
select new CustomerListModel
{
Id = grp.Key.Id,
CustomerId2 = grp.Key.Ids,
Name = grp.Key.Name,
Status = grp.Key.Status,
PolicyCount = grp.Count(),
}).ToListAsync();
But It didnt work as I expected. PolicyCount of some rows wasnt correct. It can be caused by mergedQuery. Because i am not sure about it. It is okey for me,if you can help me to convert my sql query to linq