Mysql
 sql >> Database >  >> RDS >> Mysql

Come ottimizzare le query di Entity Framework

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;