Мне нужна помощь в преобразовании следующего запроса sql в LINQ для сущностей на C #.
SELECT f.FundId, u.UnitValue
FROM Fund f
INNER JOIN FundUnit u ON f.FundId= u.FundId
WHERE u.EffectiveDate = (SELECT MAX(effectivedate)
FROM FundUnit k
WHERE u.FundId = k.FundId)
AND f.Active = 1
ORDER BY f.FundId
Запрос считывает все активные средства в базе данных вместе с их последней стоимостью единицы. Таблица Fund, содержащая записи для каждого фонда. Таблица FundUnit содержит запись стоимости единицы для каждого фонда на дату. Значения единиц за предыдущие даты также остаются в таблице для ведения истории.
Не все фонды получают новую стоимость пая каждый день, поэтому последняя дата вступления в силу для всех фондов не обязательно одинакова. Следовательно, функция max (фактическая дата) должна применяться к таблице единиц, которая должна применяться для каждого фонда - отсюда и коррелированный подзапрос.
Спасибо