Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

522
Vistas
Diferencia de EF Core entre ToListAsync() y FromSqlRaw().ToListAsync()

Estoy usando Entity Framework Core 6. Básicamente, la última versión hasta la fecha y veo una diferencia significativa en el rendimiento de estos 2 bloques de código:

 var items = await context.Items.Where(...).ToListAsync();

Y:

 var sql = context.Items.Where(...).ToQueryString(); var items = await context.Items.FromSqlRaw(sql).ToListAsync();

Como usuario, me imagino que el primer bloque de código se convierte en el segundo dentro de la biblioteca, pero aparentemente sucede algo más detrás de escena. La consulta resultante tiene que ser la misma que todas las condiciones y todo es idéntico. Sin embargo, el bloque n. ° 1 falla con el tiempo de espera y el bloque n. ° 2 se ejecuta súper rápido y obtengo resultados de inmediato.

¿Qué está sucediendo?


ACTUALIZAR 1.

Mi .Where(...) se ve así:

 .Where(ro => ro.AccountId == accountId && ( ro.CustomerEmail == query.Email || ro.CustomerEmail1 == query.Email || ro.CustomerEmail2 == query.Email ))

ACTUALIZAR 2.

Este es el SQL que obtengo de la llamada ToQueryString() lo formateé para facilitar la lectura):

 DECLARE @__account_AccountId_0 nvarchar(200) = N'12345678'; DECLARE @__email_1 nvarchar(200) = N'test@gmail.com'; SELECT [r].* -- all fields FROM [MyTable] AS [r] WHERE ([r].[AccountId] = @__account_AccountId_0) AND ( (([r].[CustomerEmail] = @__email_1) OR ([r].[CustomerEmail1] = @__email_1)) OR ([r].[CustomerEmail2] = @__email_1))
over 4 years ago · Santiago Trujillo
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda