C # LINQ Junte 2 tabelas em várias colunas e grupo por contar

Eu preciso juntar duas entidades em cinco colunas e eu preciso agrupar através de cada coluna na seleção de mais obter uma contagem em cada grupo de. Enquanto este é um bolo para mim no SQL, estou desesperadamente confuso com cada exemplo que posso encontrar para linq.

Eu encontrei as duas perguntas a seguir (C # LINQ do grupo em várias colunas e grupo por múltiplos Colunas) Eles são semelhantes aos meus, mas ainda estou confuso sobre como fazer isso. Aqui está a minha instrução SQL:

SELECT o.org_hq_name, o.org_command_name, o.org_region_name, o.org_installation_name, o.org_site_name, o.org_subsite_name, o.org_hq_id, o.org_command_id, o.org_region_id, o.org_installation_id, o.org_site_id, count(org_site_id) AS countFROM organization o, asset aWHERE o.org_hq_id = hq_org_idAND o.org_command_id = a.command_org_idAND o.org_region_id = a.region_org_idAND o.org_installation_id = a.installation_org_idAND o.org_site_id = a.site_org_idGROUP BY o.org_hq_name, o.org_command_name, o.org_region_name, o.org_installation_name, o.org_site_name, o.org_subsite_name, o.org_hq_id, o.org_command_id, o.org_region_id, o.org_installation_id, o.org_site_id

Eu tenho uma assinatura abaixo:

var join1 = from m in context.asset join o in context.organization on new {hqID = a.hq_org_id, commandID = a.command_org_id, regionID = a.region_org_id, installationID = a.installation_org_id, siteID = a.site_org_id} equals new {hqID = o.hq_id, commandID = o.command_id, regionID = o.region_id, installationID = o.installation_id, siteID = o.site_id} select new { hqID = o.hq_id, commandID = o.command_id, regionID = o.region_id, installationID = o.installation_id, siteID = o.site_id //hqId = o.count(org_site_id) AS count };

Eu tenho um grupo abaixo:

Por favor me ajude com o grupo por sintaxe com a junção em duas tabelas, mas em várias colunas das duas tabelas e obter o conta de cada grupo por.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *