Мне нужно использовать Microsoft XRM sdk Query Expression для запроса базы данных SQL через службу Windows, и я столкнулся с требованием, что я должен выбрать последние n записей истории для каждого элемента, которые переводятся в SQL следующим образом:
SELECT
RecentPrices.ProductId,
Product.[Description],
RecentPrices.Price,
RecentPrices.DateChanged
FROM
(
SELECT
ProductId,
Price,
DateChanged,
Rank() over
(
Partition BY ProductId
ORDER BY DateChanged DESC
) AS Rank
FROM PricingHistories
) RecentPrices
JOIN ProductMaster Product
ON RecentPrices.ProductId = Product.Id
WHERE Rank <= 10
Должен быть выведен список продуктов с 10 последними историями изменения цены (Price и DateChange), которые можно сгруппировать как C # IEnumerable для чего-то вроде:
Product
- Id: number
- Описание: строка
- PriceChangesLastTenPreview []: массив объектов
Возможно ли это даже для выражений запросов в одном запросе, или мне придется прибегать к запросам для каждой записи?
помогите пожалуйста