我很难将 sql 转换为 linq 语法。
我有 2 个表(Category 和 CategoryListing),它们使用 CategoryID 相互引用。我需要获取 Category 表中所有 CategoryID 的列表以及 CategoryListing 表中所有相应匹配项的 CategoryID 计数。如果 CategoryID 不存在于 CategoryListing 中,则仍应返回 CategoryID - 但频率为 0。
以下 sql 查询演示了预期的结果:
SELECT c.CategoryID, COALESCE(cl.frequency, 0) as frequency
FROM Category c
LEFT JOIN (
SELECT cl.CategoryID, COUNT(cl.CategoryID) as frequency
FROM CategoryListing cl
GROUP BY cl.CategoryID
) as cl
ON c.CategoryID = cl.CategoryID
WHERE c.GuideID = 1