2013-09-06 3 views
0

В настоящее время я работаю над проектом, в котором я использую Linq-to-SQL, чтобы избежать использования хранимых процедур. Я почти закончил, избегая всех хранимых процедур, но у меня есть один запрос T-SQL, который мне трудно конвертировать в Linq.Преобразование группы по T-Sql В Linq To Sql

Может ли кто-нибудь помочь мне с конверсией?

select 
    EM.EmployerID, EM.EmployerName, AD.City, AD.County, JR.InstanceValue 
from 
    JobResults JR 
inner join 
    Employers EM on JR.EmployerName = EM.EmployerName 
inner join 
    Addresses AD on EM.AddressID = AD.AddressID 
where 
    JR.IsPremium = 1 
    and JR.FieldName = 'Job Title' 
group by 
    EM.EmployerID, EM.EmployerName, AD.City, AD.County, JR.InstanceValue 

Update

Это то, что я пробовал:

var query = (from jr in database.JobResults 
      join em in database.Employers 
        on jr.EmployerName equals em.EmployerName 
      join ad in database.Addresses 
       on em.AddressID equals ad.AddressID 
      where jr.FieldName == "Job Title" && jr.IsPremium == true 
      select new { jr.JobID, em.EmployerID, em.EmployerName, ad.City, ad.County, jr.InstanceValue }).GroupBy(p => new { p.EmployerID, p.EmployerName, p.City, p.County, p.InstanceValue, p.JobID }).ToList(); 

Я застрял с пунктом Group By с кратному присоединиться запроса

+1

Вы определенно должны показать, что вы пробовали, что пошло не так в вашем решении и в лизинге t немного фона, например. как ваш контекстный набор и т. д. – MarcinJuraszek

+0

Привет @MarcinJuraszek проверили, я обновил свой вопрос – Abbas

ответ

2
var query = (from jr in database.JobResults 
      join em in database.Employers 
        on jr.EmployerName equals em.EmployerName 
      join ad in database.Addresses 
       on em.AddressID equals ad.AddressID 
      where jr.FieldName == "Job Title" && jr.IsPremium == true 
      group new { jr, em, ad } by new { 
       jr.JobID, 
       em.EmployerID, 
       em.EmployerName, 
       ad.City, 
       ad.Country, 
       jr.InstanceValue 
      } into g 
      select new { 
       g.Key.JobID, 
       g.Key.EmployerID, 
       g.Key.EmployerName, 
       g.Key.City, 
       g.Key.Country, 
       g.Key.InstanceValue 
      }).ToList(); 
Смежные вопросы