【发布时间】:2019-12-17 16:22:43
【问题描述】:
几天来,我一直在尝试将此查询翻译为 linq,但我不明白。我使用 .NET Framework 4.5 和 Code First。
DECLARE @FECHAINICIAL DATETIME, @FECHAFINAL DATETIME
DECLARE @CANAL VARCHAR(300)
SET @FECHAINICIAL = '2019-07-01 17:00'
SET @FECHAFINAL = '2019-08-07 18:00'
SET @CANAL = 'channel';
WITH CATEGORIA AS(
SELECT DISTINCT sm_categoria FROM [DataBase].[dbo].[SM_App] WHERE sm_canal = @CANAL
)
SELECT
CATEGORIA.sm_categoria,
COUNT(CASE WHEN sm_red = 'Facebook' THEN 1 END) as Facebook,
COUNT(CASE WHEN sm_red = 'Twitter' THEN 1 END) as Twitter,
COUNT(CASE WHEN sm_red = 'Instagram' THEN 1 END) as Instagram
FROM
CATEGORIA
LEFT JOIN [DataBase].[dbo].[SM_App] ON CATEGORIA.sm_categoria = SM_App.sm_categoria
AND sm_canal like 'channel'
AND sm_fecha BETWEEN @FECHAINICIAL AND @FECHAFINAL
group by CATEGORIA.sm_categoria
【问题讨论】:
-
如果您使用的是实体框架,您可能需要提及这一点。如果您正在使用其他东西(例如 Linq2SQL),请提及。 “LINQ”是一种语言特性,而不是一种数据库访问技术(EF 和 Linq2SQL 也是如此,它们都使用 LINQ)。
标签: c# .net linq asp.net-mvc-5