Sì. Riscrivi la query LINQ. La maggior parte delle query LINQ to Entities può essere scritta in molti modi diversi e verrà tradotta in SQL in modo diverso. Dal momento che non mostri né LINQ né SQL né il piano di query, questo è tutto ciò che posso dire.
Sei intelligente, tuttavia, per provare a eseguire direttamente l'SQL. Anche la compilazione delle query può richiedere tempo, ma l'hai escluso determinando che l'SQL tiene conto di tutto il tempo misurato.
Prova:
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 se pe.Event è uno a uno:
var query = from pe in genesisContext.People_Event_Link
where pe.P_ID == key
select pe.Event;
return query;