да. Пренапишете LINQ заявката. Повечето заявки за LINQ to Entities могат да бъдат написани по много различни начини и ще бъдат преведени в SQL по различен начин. Тъй като не показвате нито LINQ, нито SQL, нито плана на заявката, това е всичко, което мога да кажа.
Вие сте умен обаче да опитате да изпълните SQL директно. Компилацията на заявката също може да отнеме време, но вие сте изключили това, като определите, че SQL отчита цялото измерено време.
Опитайте:
var query = from pe in genesisContext.People_Event_Link
where pe.P_ID == key
from ev in pe.Event // presuming one to many
select ev;
или ако pe.Event е едно към едно:
var query = from pe in genesisContext.People_Event_Link
where pe.P_ID == key
select pe.Event;
return query;