Преобразование SQL-запроса в EF-запрос, вложенный в - PullRequest
0 голосов
/ 09 марта 2010

Просто интересно, как будет выглядеть следующий sql-запрос в linq для 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 Ответ

1 голос
/ 09 марта 2010

Трудно сказать, не видя ассоциаций в вашей модели. Будет ли самообращенная ассоциация на 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 ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...