Tak. Przepisz zapytanie LINQ. Większość zapytań LINQ to Entities można napisać na wiele różnych sposobów i będą one inaczej tłumaczone na język SQL. Ponieważ nie pokazujesz ani LINQ, ani SQL, ani planu zapytań, to wszystko, co mogę powiedzieć.
Jesteś jednak sprytny, aby spróbować bezpośrednio wykonać SQL. Kompilacja zapytania może również zająć trochę czasu, ale wykluczyłeś to, określając, że SQL uwzględnia cały zmierzony czas.
Wypróbuj:
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;
lub jeśli pe.Event jest jeden do jednego:
var query = from pe in genesisContext.People_Event_Link
where pe.P_ID == key
select pe.Event;
return query;