Ja. Skriv om LINQ-frågan. De flesta LINQ to Entities-frågor kan skrivas på många olika sätt och kommer att översättas till SQL på olika sätt. Eftersom du varken visar LINQ eller SQL eller frågeplanen, är det ungefär allt jag kan säga.
Du är dock smart att försöka köra SQL direkt. Frågekompilering kan också ta tid, men du har uteslutit det genom att fastställa att SQL står för hela den uppmätta tiden.
Försök:
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 om pe.Event är en till en:
var query = from pe in genesisContext.People_Event_Link
where pe.P_ID == key
select pe.Event;
return query;