将sql查询转换为EF查询嵌套查询

时间:2010-03-08 21:33:46

标签: c# .net sql linq entity-framework

只是想知道以下sql查询在linq for Entity Framework中的外观......

SELECT  KPI.*
FROM    KeyPerformanceIndicator KPI
    INNER JOIN (
        SELECT  SPP.SportProgramPlanId
        FROM    SportProgramPlan PSPP
            INNER JOIN SportProgramPlan ASPP
                ON (PSPP.SportProgramPlanId = @SportProgramPlanId
                    AND PSPP.StartDate >= ASPP.StartDate
                    AND PSPP.EndDate <= ASPP.EndDate)
    ) AS SPP
        ON KPI.SportProgramPlanId = SPP.SportProgramPlanId

干杯 安东尼

1 个答案:

答案 0 :(得分:1)

很难说没有看到模型中的关联。 SportProgramPlan会有自我指涉关联吗?

SQL对我来说似乎是一个错误,因为PSPPASPP可能是同一个记录,我不确定你想要那个?无论如何,排除......是微不足道的。

这是一个镜头:

var q = from kpi in Context.KeyPerformanceIndicators
        where kpi.SportProgramPlan.Id = sportProgramPlanId 
            && Context.SportProgramPlans.Any(aspp => 
                                                 spp.StartDate >= aspp.StartDate
                                                 && spp.EndDate <= aspp.EndDate))
        select ...