
Entity Framework Core avançado
Raw SQL, stored procedures, transações, AsNoTracking, AsSplitQuery, query tags, interceptors, ajuste de desempenho
1Como executar uma consulta SQL bruta para recuperar entidades no EF Core?
Como executar uma consulta SQL bruta para recuperar entidades no EF Core?
Resposta
O método FromSql() ou FromSqlRaw() permite executar consultas SQL brutas retornando entidades rastreadas pelo DbContext. Isso é útil em cenários onde o LINQ não consegue expressar a consulta diretamente, como ao chamar stored procedures ou funções com valor de tabela. Os resultados podem então ser compostos com LINQ para adicionar filtros ou incluir relacionamentos.
2Qual é a diferença entre FromSqlRaw() e ExecuteSqlRaw() no EF Core?
Qual é a diferença entre FromSqlRaw() e ExecuteSqlRaw() no EF Core?
Resposta
FromSqlRaw() é usado para executar consultas SELECT que retornam entidades rastreadas, permitindo a composição com LINQ. ExecuteSqlRaw() é usado para executar comandos non-query (INSERT, UPDATE, DELETE) e retorna o número de linhas afetadas. FromSqlRaw() aplica-se a um DbSet, enquanto ExecuteSqlRaw() aplica-se a Database. Essa distinção garante a segurança de tipos e a consistência do modelo.
3Como chamar um stored procedure que retorna entidades no EF Core?
Como chamar um stored procedure que retorna entidades no EF Core?
Resposta
Use FromSqlRaw() ou Database.SqlQuery<T>() para chamar um stored procedure e mapear os resultados para entidades. É crucial adicionar AsEnumerable() após a chamada para evitar que o EF Core tente compor sobre os resultados do stored procedure, o que causaria erros de sintaxe SQL. Os parâmetros podem ser passados usando a sintaxe @p0, @p1 para prevenir injeção de SQL.
Qual é o papel do AsNoTracking() no EF Core?
Quando usar AsNoTrackingWithIdentityResolution() em vez de AsNoTracking()?
+22 perguntas de entrevista
Outros temas de entrevista .NET
Fundamentos de C#
LINQ & Delegates
Fundamentos da linguagem C#
Fundamentos do ASP.NET Core
Ciclo de vida das requisições no ASP.NET Core
Configuration & Settings
Ciclo de vida da aplicação
Dependency Injection
Entity Framework Core
Minimal APIs
Desenvolvimento de Web API
Async no ASP.NET Core
Authentication & Authorization
HttpClient & Networking
Serialização JSON
Recursos avançados do C#
Clean Architecture
Logging, Monitoring & Observability
Testes unitários e xUnit
Testes de integração
Docker & Containerization
NuGet Package Management
Memory Management & GC
Programação reativa
Async/await & Patterns
.NET Design Patterns
Otimização de desempenho
Segurança e Best Practices
SignalR e tempo real
Arquitetura de Microsserviços
Domine .NET para sua proxima entrevista
Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.
Comece gratis