
Entity Framework Core avanzado
Raw SQL, stored procedures, transacciones, AsNoTracking, AsSplitQuery, query tags, interceptors, ajuste de rendimiento
1¿Cómo ejecutar una consulta SQL en bruto para recuperar entidades en EF Core?
¿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?
¿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?
¿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.
¿Cuál es el rol de AsNoTracking() en EF Core?
¿Cuándo usar AsNoTrackingWithIdentityResolution() en lugar de AsNoTracking()?
+22 preguntas de entrevista
Otros temas de entrevista .NET
Fundamentos de C#
LINQ & Delegates
Fundamentos del lenguaje C#
Fundamentos de ASP.NET Core
Ciclo de vida de las solicitudes en ASP.NET Core
Configuration & Settings
Ciclo de vida de la aplicación
Dependency Injection
Entity Framework Core
Minimal APIs
Desarrollo de Web API
Async en ASP.NET Core
Authentication & Authorization
HttpClient & Networking
Serialización JSON
Características avanzadas de C#
Clean Architecture
Logging, Monitoring & Observability
Pruebas unitarias y xUnit
Pruebas de integración
Docker & Containerization
NuGet Package Management
Memory Management & GC
Programación reactiva
Async/await & Patterns
.NET Design Patterns
Optimización del rendimiento
Seguridad y Best Practices
SignalR y tiempo real
Arquitectura de Microservicios
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