.NET

Entity Framework Core avanzado

Raw SQL, stored procedures, transacciones, AsNoTracking, AsSplitQuery, query tags, interceptors, ajuste de rendimiento

25 preguntas de entrevista·
Mid-Level
1

¿Cómo ejecutar una consulta SQL en bruto para recuperar entidades en EF Core?

Respuesta

El método FromSql() o FromSqlRaw() permite ejecutar consultas SQL en bruto devolviendo entidades rastreadas por el DbContext. Esto es útil en escenarios donde LINQ no puede expresar la consulta directamente, como al llamar stored procedures o funciones de valor de tabla. Luego los resultados pueden componerse con LINQ para agregar filtros o incluir relaciones.

2

¿Cuál es la diferencia entre FromSqlRaw() y ExecuteSqlRaw() en EF Core?

Respuesta

FromSqlRaw() se usa para ejecutar consultas SELECT que devuelven entidades rastreadas, permitiendo la composición con LINQ. ExecuteSqlRaw() se usa para ejecutar comandos non-query (INSERT, UPDATE, DELETE) y devuelve el número de filas afectadas. FromSqlRaw() se aplica sobre un DbSet, mientras que ExecuteSqlRaw() se aplica sobre Database. Esta distinción garantiza la seguridad de tipos y la coherencia del modelo.

3

¿Cómo llamar a un stored procedure que devuelve entidades en EF Core?

Respuesta

Usar FromSqlRaw() o Database.SqlQuery<T>() para llamar a un stored procedure y mapear los resultados a entidades. Es crucial agregar AsEnumerable() después de la llamada para evitar que EF Core intente componer sobre los resultados del stored procedure, lo que provocaría errores de sintaxis SQL. Los parámetros pueden pasarse usando la sintaxis @p0, @p1 para prevenir la inyección SQL.

4

¿Cuál es el rol de AsNoTracking() en EF Core?

5

¿Cuándo usar AsNoTrackingWithIdentityResolution() en lugar de AsNoTracking()?

+22 preguntas de entrevista

Domina .NET para tu próxima entrevista

Accede a todas las preguntas, flashcards, tests técnicos, ejercicios de code review y simuladores de entrevista.

Empieza gratis