Alternativa C - Alterando o estado (State) de um objeto para System.Data.Entity.EntityState.Deleted.
Explicação Didática
No Entity Framework, existem duas formas principais de remover registros do banco de dados:
| Método | Como Funciona |
|---|
| Remove() | Chama diretamente o método Remove() na coleção de entidades |
| Alterar Estado | Muda o State da entidade para Deleted |
Por que a Alternativa C está correta?
O Entity Framework utiliza um sistema de tracking de mudanças. Quando você altera o estado de uma entidade para EntityState.Deleted, o contexto sabe que aquela entidade deve ser removida quando SaveChanges() for chamado.
// Exemplo de como funciona
var entity = context.MinhaEntidade.Find(id);
context.Entry(entity).State = EntityState.Deleted;
context.SaveChanges(); // Gera o DELETE no banco
Por que as outras alternativas estão erradas?
- A: Remover a conexão não deleta registros, apenas desconecta do banco
- B: Query SQL direta ignora o Entity Framework e vai direto ao SGBD
- D: Pressionar DEL é interação manual, não código programático
- E:
EntityState.Removed não existe na enumeração do Entity Framework
Estados válidos do Entity Framework
Added - Nova entidade a ser inseridaModified - Entidade existente com alteraçõesUnchanged - Sem modificaçõesDeleted - Entidade marcada para exclusão
Alternativa C.