Код: Выделить всё
SELECT TOP (10)
t1.ProductName, t2.ProductName,
COUNT(DISTINCT t1.OrderId) AS num_orders
FROM
Reports t1
JOIN
Reports t2 ON t1.OrderId = t2.OrderId
AND t1.ProductId < t2.ProductId
GROUP BY
t1.ProductName, t2.ProductName
ORDER BY
num_orders DESC
Вот чего я достиг на данный момент (очень неполно):
Код: Выделить всё
var reportData = await (from t1 in this.Context.Reports
join t2 in this.Context.Reports
on t1.OrderIdequals t2.OrderId
where t1.ProductId < t2.ProductId
into GroupedData
orderby GroupedData.Key
select new
{
GroupedData
}).ToListAsync();
Кроме того, выбор неполный, потому что мне еще не удалось заставить работать весь приведенный выше код, поэтому не придавайте этому значения.
Ближе всего я подошел к тому, чтобы заставить его работать у меня, я получил ту же ошибку, что и этот человек: Как я могу использовать выражение Linq для соединения с GroupBy в EF Core 3.1
Это страница, которую я использовал для поиска информации, но она не показывает то, что я ищу:
https://learn.microsoft.com/en-us/ef/co ... plex-query -operators
Я также использовал Linqer и этот репозиторий SQL для Linq, но я не могу заставить их работать, я младший
Может ли кто-нибудь мне помочь или порекомендовать, где искать информацию?
Подробнее здесь: https://stackoverflow.com/questions/748 ... various-co
Мобильная версия