只是想知道以下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
干杯 安东尼
答案 0 :(得分:1)
很难说没有看到模型中的关联。 SportProgramPlan
会有自我指涉关联吗?
SQL对我来说似乎是一个错误,因为PSPP
和ASPP
可能是同一个记录,我不确定你想要那个?无论如何,排除......是微不足道的。
这是一个镜头:
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 ...