sql >> Base de Datos >  >> RDS >> Mysql

Cómo optimizar las consultas de Entity Framework

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;