【发布时间】:2021-01-02 00:03:29
【问题描述】:
美好的一天。 我有 2 个请求。
SELECT cf.Conf_StartTime, cf.Conf_DisplayName, eve.Conf_ID, eve.Party_ID, eve.Point_NAME, eve.Ongoing_ID, COUNT(*) AS 'num'
FROM CDR_EVENT as eve INNER JOIN CDR_Conference as cf ON eve.Conf_ID = cf.Conf_ID
WHERE TIMESTAMP >= '9/10/2020' AND TIMESTAMP <= '9/11/2020' AND Ongoing_ID IS NOT NULL
GROUP BY
cf.Conf_StartTime, cf.Conf_DisplayName, eve.Conf_ID, eve.Party_ID, eve.Point_NAME, eve.Ongoing_ID
HAVING COUNT (*) >= 2
ORDER BY eve.Conf_ID
GO
SELECT cf.Conf_StartTime, cf.Conf_DisplayName, eve.Conf_ID, eve.Party_ID, eve.Point_NAME, eve.Disconnect_Cause_DESCRIPTION, COUNT(*) AS 'num'
FROM CDR_EVENT as eve INNER JOIN CDR_Conference as cf ON eve.Conf_ID = cf.Conf_ID
WHERE TIMESTAMP >= '9/10/2020' AND TIMESTAMP <= '9/11/2020' AND Disconnect_Cause_DESCRIPTION IS NOT NULL AND Disconnect_Cause_ID != '2'
GROUP BY
cf.Conf_StartTime, cf.Conf_DisplayName, eve.Conf_ID, eve.Party_ID, eve.Point_NAME, Disconnect_Cause_DESCRIPTION
HAVING COUNT (*) >= 1
ORDER BY cf.Conf_DisplayName
问题1.如何将它们转换为LINQ?
问题 2. 是否可以将这两个查询合二为一?
【问题讨论】:
-
需要查看客户端实体定义和映射
-
在客户端究竟能看到什么?为了简化请求,然后:我试图弄清楚如何将请求结构本身转换为 linq 格式
SELECT db1.NAME1, db1.NAME2, db2.NAME3, db2.NAME4, db2.NAME5, db2.NAME6, COUNT(*) AS 'num' FROM CDR_db2NT as db2 INNER JOIN CDR_Conference as db1 ON db2.NAME3 = db1.NAME3 WHERE NAME6 IS NOT NULL GROUP BY db1.NAME1, db1.NAME2, db2.NAME3, db2.NAME4, db2.NAME5, db2.NAME6 HAVING COUNT (*) >= 2 ORDER BY db2.NAME3 -
如果不知道 C# 端的类型、属性和集合的名称,我们无法为您提供任何 C#。您也没有说明您是否需要方法或查询语法。首先尝试一下会有所帮助,否则您实际上只是在要求我们为您完成工作(在 SQL 标记中很常见,但较少在 C# 中)
-
我可能不太明白。我在程序中使用 LINQ 查询。在这种情况下,我能够发出 SQL 请求,并且我想将其作为 LINQ 请求应用到程序中。基本上不需要名称详细信息。如果我理解正确,我需要请求本身的语法,以便我已经可以将其调整为值
-
请展示一个有效的现有 LINQ 查询示例;我想看看它“在”什么工作