如何翻译SQL外部应用于LINQ

发布于 2025-01-30 17:53:54 字数 1290 浏览 1 评论 0原文

我遇到了试图将此SQL语句与外部申请转换为Linq的问题。我已经阅读并尝试了很多示例,没有运气可以工作。有人可以告诉我一个如何将其写入LINQ语句的示例吗?

SELECT 
    [P].[BandID],
    [P].[PitchID],
    [P].[PitchName],
    [PRO].[PitchProcessID],
    [PRO].[ProcessDescription],
    [PRO].[IsHighVoltage],
    [TRA].[EmployeeID],
    [TRA].[TrainingID],
    [TRA].[Score]
FROM 
    [dbo].[vwPitch] AS [P]
    OUTER APPLY(SELECT 
                    [PP].[PitchProcessID],
                    [PP].[IsHighVoltage],
                    [PP].[ProcessName] + ' - ' 
                  + [PP].[ProcessDescription] AS [ProcessDescription]
                FROM 
                    [dbo].[vwPitchProcess] AS [PP]
                WHERE
                     [PP].[PitchID] = [P].[PitchID]) AS [PRO]
    OUTER APPLY(SELECT 
                    [T].[TrainingID],
                    [T].[EmployeeID],
                    [E].[FLName],
                    [T].[Score]
                FROM
                    [dbo].[TrainingScore] AS [T]
                    LEFT OUTER JOIN [dbo].[vwEmployee] 
                        AS [E] ON [T].[EmployeeID] = [E].[EmployeeID]
                WHERE
                    [T].[PitchProcessID] = [PRO].[PitchProcessID] 
                        AND [T].[EmployeeID] = 123456) AS [TRA]
WHERE
    [P].[BandID] = 34;

I am having issues trying to convert this SQL statement with Outer Applys to Linq. I have read and tried lots of examples with no luck getting anything to work. Could someone please show me an example of how to write this into a Linq statement?

SELECT 
    [P].[BandID],
    [P].[PitchID],
    [P].[PitchName],
    [PRO].[PitchProcessID],
    [PRO].[ProcessDescription],
    [PRO].[IsHighVoltage],
    [TRA].[EmployeeID],
    [TRA].[TrainingID],
    [TRA].[Score]
FROM 
    [dbo].[vwPitch] AS [P]
    OUTER APPLY(SELECT 
                    [PP].[PitchProcessID],
                    [PP].[IsHighVoltage],
                    [PP].[ProcessName] + ' - ' 
                  + [PP].[ProcessDescription] AS [ProcessDescription]
                FROM 
                    [dbo].[vwPitchProcess] AS [PP]
                WHERE
                     [PP].[PitchID] = [P].[PitchID]) AS [PRO]
    OUTER APPLY(SELECT 
                    [T].[TrainingID],
                    [T].[EmployeeID],
                    [E].[FLName],
                    [T].[Score]
                FROM
                    [dbo].[TrainingScore] AS [T]
                    LEFT OUTER JOIN [dbo].[vwEmployee] 
                        AS [E] ON [T].[EmployeeID] = [E].[EmployeeID]
                WHERE
                    [T].[PitchProcessID] = [PRO].[PitchProcessID] 
                        AND [T].[EmployeeID] = 123456) AS [TRA]
WHERE
    [P].[BandID] = 34;

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文