帮助此LINQ to SQL查询
|
我有以下查询:
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 \ ...,所以我试图在group by
之后添加select ca.Content
,但是编译器会抱怨。
ContentAcceses具有FK(ContentId)到Content表。
我还不太了解LINQ。
没有找到相关结果
已邀请:
2 个回复
届甸衬丝蚕
的
进行分组,因此也应按该分组。
为了有一个更简单的等效TSQL查询,您可能希望使用LINQ to Objects进行展平并获得前5个。
窃誓额