У меня есть следующий запрос:
var content = (from ca in db.ContentAccesses
where !candidateList.Contains(ca.Content) &&
ca.DateAccessed >= DateTime.Now.AddDays(-90)
group ca by ca.ContentId)
.OrderByDescending(c => c.Count()).Take(5);
, который разрешает следующий T-SQL
SELECT TOP (5) [t1].[ContentId] AS [Key]
FROM (
SELECT COUNT(*) AS [value], [t0].[ContentId]
FROM [dbo].[ContentAccesses] AS [t0]
WHERE (NOT ([t0].[ContentId] = @p0)) AND ([t0].[DateAccessed] >= @p1)
GROUP BY [t0].[ContentId]
) AS [t1]
ORDER BY [t1].[value] DESC
Но мне нужны реальные объекты "Content", а не только ContentId... поэтому я попытался добавить select ca.Content
после group by
, но компилятор будет жаловаться.
ContentAcceses имеет FK (ContentId) в таблице содержимого.
Я не понимаюLINQ пока неплохо.