Ja. Omskriv LINQ-forespørgslen. De fleste LINQ to Entities-forespørgsler kan skrives på mange forskellige måder og vil blive oversat til SQL forskelligt. Da du hverken viser LINQ'en eller SQL'en eller forespørgselsplanen, er det omtrent det eneste, jeg kan sige.
Du er dog smart til at prøve at udføre SQL direkte. Forespørgselskompilering kan også tage tid, men du har udelukket det ved at bestemme, at SQL'en står for hele den målte tid.
Prøv:
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;
eller hvis pe.Event er én til én:
var query = from pe in genesisContext.People_Event_Link
where pe.P_ID == key
select pe.Event;
return query;