Sí. Vuelva a escribir la consulta LINQ. La mayoría de las consultas de LINQ to Entities se pueden escribir de muchas maneras diferentes y se traducirán a SQL de manera diferente. Dado que no muestra ni LINQ ni SQL ni el plan de consulta, eso es todo lo que puedo decir.
Sin embargo, eres inteligente al intentar ejecutar el SQL directamente. La compilación de consultas también puede llevar tiempo, pero lo descartó al determinar que el SQL representa todo el tiempo medido.
Prueba:
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;
o si pe.Event es uno a uno:
var query = from pe in genesisContext.People_Event_Link
where pe.P_ID == key
select pe.Event;
return query;