将 SQL 转换为 LINQ 查询
Posted
技术标签:
【中文标题】将 SQL 转换为 LINQ 查询【英文标题】:Convert SQL to LINQ Query 【发布时间】:2012-02-17 19:11:56 【问题描述】:我有以下 SQL 查询,我需要在 LINQ 中使用它,我尝试了几件事,但无法正常工作。
这是 SQL 查询
SELECT ST.Description, ST.STId, COUNT(SI.SIId) AS Expr1
FROM BP INNER JOIN
MbrBP ON BP.BPId = MbrBP.BPId INNER JOIN
SI ON BP.BPId = SI.BPId RIGHT OUTER JOIN
ST ON SI.STId = ST.STId
WHERE (BP.CountryId = 1) AND (BP.RegionId = 1) AND (MbrBP.MemberId = 1)
AND (SI.IsActive = 1)
GROUP BY ST.Description, ST.STId
UNION
SELECT ST.Description, ST.STId, COUNT(SI.STId) AS Expr1
FROM SI RIGHT OUTER JOIN
ST ON SI.STId = ST.STId
GROUP BY ST.Description, ST.STId
【问题讨论】:
你试过什么?你的问题是什么(转换)? 仅供参考,它是 LINQ - 语言集成查询。不是 LinQ。最近经常看到这种情况。 看看SQL queries in LINQ。它提供了如何将常见的 SQL 查询转换为 LINQ 语法的示例。 Sql 有时更好用。 @Mardo 恕我直言,对于了解 SQL 的人来说,SQL 总是更好。只是说。 【参考方案1】:你试过 Linqer http://www.sqltolinq.com
一个 SQL-> LINQ 转换器..
或 LINQPad http://www.linqpad.net/
【讨论】:
@GaneshKamath-'CodeFrenzy' 我下载并尝试了您的项目。但它卡住了我无法将我的 sql 查询粘贴到 SQL 字符串输入框中。你能帮帮我吗? @Sherlyn,我已经很久没有从事那个项目了。那个项目是不完整的。请 fork 一份并根据您的需要进行修改。它至少需要 Entity framework 6、Visual Studio 2015 和 Microsoft Visualization and Modeling SDK。抱歉,我现在只能提供这些了。以上是关于将 SQL 转换为 LINQ 查询的主要内容,如果未能解决你的问题,请参考以下文章