stackoverflow.com/q/43812940/1735836

ужно объединить две сущности на пять столбцов, и мне нужно, чтобы GROUP BY каждого столбца в SELECT плюс получить COUNT для каждого GROUP BY. Хотя в SQL это очень удобно, я безнадежно запутался в каждом примере, который я могу найти для LINQ.

Я нашел следующие два вопроса (C # Linq Group By по нескольким столбцам [дубликаты] а такжеГруппировать по нескольким столбцам), которые похожи на мои, но я все еще не понимаю, как это сделать. Вот мой 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 count

FROM    organization o, asset a

WHERE      o.org_hq_id = hq_org_id
AND        o.org_command_id = a.command_org_id
AND        o.org_region_id = a.region_org_id
AND        o.org_installation_id = a.installation_org_id
AND        o.org_site_id = a.site_org_id

GROUP 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

У меня есть соединение ниже:

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
             };

У меня есть группа ниже:

var group1 = from a in context.asset
            group a by new
            {
                a.hq_org_id,
                a.command_org_id,
                a.region_org_id,
                a.installation_org_id,
                a.site_org_id

                // I am not sure how to get the count

            } into asset
            select new
            {
                // I cannot figure out how to join
            }

Пожалуйста, помогите мне с синтаксисом для GROUP BY с JOIN для двух таблиц, но для MULTIPLE столбцов двух таблиц и получите счет для каждой группы.

Ответы на вопрос(1)

Ваш ответ на вопрос