У меня есть две таблицы, которые выглядят так:
альтернативный текст http://www.brettrobichaud.com/images/linq.png
Я пытаюсь сгенерировать запрос, который включает два конкретных StatisticsNames для каждого периода из ApplianceStatisticsLog. Ниже приведен запрос Linq. Это работает, но генерирует один запрос для первого суб-выбора, затем один дополнительный запрос для КАЖДОЙ записи для второго суб-выбора. Ой, кругосветные путешествия DB убивают меня.
Как я могу переработать это, чтобы выжать один SQL-запрос?
from l in ApplianceStatisticsLogs
where l.ApplianceServerId > 1
orderby l.PeriodEndUtc ascending
select new
{
Time = l.PeriodEndUtc,
Stat1 = from s in ApplianceStatistics
where s.ApplianceStatisticsLogId == l.ApplianceStatisticsLogId
&& s.ApplianceStatisticNameId == 2
select s.Value,
Stat2 = from s in ApplianceStatistics
where s.ApplianceStatisticsLogId == l.ApplianceStatisticsLogId
&& s.ApplianceStatisticNameId == 3
select s.Value
}