Junior — Middle
Como atualizar um campo específico num grupo de objetos relacionados no Entity Framework?
sobes.tech IA
Resposta da IA
Para atualizar um campo específico num grupo de objetos relacionados no Entity Framework, pode usar várias abordagens:
-
Carregar objetos relacionados e atualizar na memória:
var parent = context.Parents.Include(p => p.Children) .FirstOrDefault(p => p.Id == parentId); foreach(var child in parent.Children) { child.SomeField = newValue; } context.SaveChanges();Este método é conveniente se precisar atualizar o campo em todos os objetos relacionados.
-
Atualização em massa usando ExecuteSqlCommand ou ExecuteUpdate (EF Core 7+):
context.Children .Where(c => c.ParentId == parentId) .ExecuteUpdate(c => c.SetProperty(child => child.SomeField, newValue));Essa abordagem é eficiente, pois atualiza os dados diretamente na base de dados sem carregá-los na memória.
A escolha depende da versão do EF e dos requisitos de desempenho.