Ano. Přepište dotaz LINQ. Většina dotazů LINQ to Entities může být zapsána mnoha různými způsoby a bude přeložena do SQL odlišně. Protože neukazujete ani LINQ, ani SQL, ani plán dotazů, to je asi vše, co mohu říci.
Jste však chytří a zkuste spustit SQL přímo. Kompilace dotazu může také nějakou dobu trvat, ale to jste vyloučili tím, že určíte, že SQL zohledňuje veškerý měřený čas.
Zkuste:
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;
nebo pokud je pe.Událost jedna ku jedné:
var query = from pe in genesisContext.People_Event_Link
where pe.P_ID == key
select pe.Event;
return query;