У меня есть запрос (развивается в LINQPad):Linq to Entities Left Outer Join/Subquery?
DateTime currentDate = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1);
DateTime previousMonth = currentDate.AddMonths(-1);
DateTime previousMonthForAveragePrices = currentDate.AddMonths(-2);
var help = from cd in CostDrivers.OfType<Commodity>()
where cd.isActive == true &&
cd.arePricesCalculatedAverage == false
from cp in cd.CostDriverPrices where cp.priceDate
== currentDate
select new {cd.costDriverID, cd.costDriverName, cd.isUpdatedMonthly, cd.arePricesCalculatedAverage,
cp.costDriverPriceID, priceDate = cp.priceDate,
cp.price, previousPriceDate = from cpc in cd.CostDriverPrices where cpc.priceDate == previousMonth
select new {previousPrice = cpc.price, previousPriceDate = cpc.priceDate}};
help.Dump();
Что мне нужно сделать, это вернуть ВСЕ costDrivers, независимо от того, существует ли запись цены на заданную дату (currentDate). Я должен указать, что в подзапросе есть попытка захватить другую рекордную цену за текущий месяц 1 месяц. Я пробовал || null и т.п. нет пойдите. Это linq для сущностей. Сам запрос работает .. он вернет результат только там, где есть цена. благодаря!
спасибо.