.NET

Entity Framework Core avançado

Raw SQL, stored procedures, transações, AsNoTracking, AsSplitQuery, query tags, interceptors, ajuste de desempenho

25 perguntas de entrevista·
Mid-Level
1

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.

2

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.

3

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.

4

Qual é o papel do AsNoTracking() no EF Core?

5

Quando usar AsNoTrackingWithIdentityResolution() em vez de AsNoTracking()?

+22 perguntas de entrevista

Domine .NET para sua proxima entrevista

Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.

Comece gratis