Detectando alterações com DBContext
-
21-12-2019 - |
Pergunta
Não consigo entender por que as alterações não são detectadas antes de aplicar o método SaveChanges.Estou apenas testando coisas por aí.Aqui está o código:
Lodging query = context.Lodgings.SingleOrDefault(d => d.LodgingName == "Hotel4");
context.Entry(query).Reference(l=>l.Destination).Load();
Console.WriteLine(query.Destination.DestinationName);
query.Destination.DestinationName = "Some Where Else";
Console.WriteLine(context.Entry(query).State);
Console.WriteLine(query.Destination.DestinationName);
context.ChangeTracker.DetectChanges();
Console.WriteLine(context.Entry(query).State);
Console.WriteLine(query.Destination.DestinationName);
A saída é "Inalterada".Claro que se eu salvar as alterações o banco de dados será atualizado.
Solução
Talvez esta explicação possa ajudar: http://blog.oneunicorn.com/2012/03/10/secrets-of-detectchanges-part-1-what-does-detectchanges-do/
Outras dicas
Sua pergunta não explica sobre os requisitos reais. Talvez você encontre a respostaaqui.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow