Конвертировать SQL в LINQ, сгруппировать по внутренней таблице - PullRequest
0 голосов
/ 27 января 2011

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

SELECT x.contentobjectid, Min(x.city) as city, temp.startdate
from calendarentry as x
    inner join (select contentobjectid, startdate from calendarentry where startdate > getdate() group by contentobjectid, startdate) as temp
    on temp.contentobjectid = x.contentobjectid
group by x.contentobjectid, temp.startdate

im, используя Entity Framework

спасибо

1 Ответ

1 голос
/ 28 января 2011

Без вашей схемы БД трудно сделать это правильно, но попробуйте то, что я написал в качестве отправной точки.Кроме того, я настоятельно рекомендую скачать LINQPad и заплатить 30 баксов за поддержку intellisense!

var result = (
from c1 in calendarentry
let grp = (from c2 in calendarentry
             where c2.contentobjectid = c1.contentopjectid &&
                   c2.startdate > DateTime.Now
             group c2 by new { contentobjectid = c2.contentobjectid, startdate = c2.startdate } into g
             select g)
select new {
         contentobjectid = c1.contentobjectid, 
         city = c1.Min(x => x.city),
         startdate = grp.startDate
       });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...