Tengo una pregunta con respecto a la .AsNoTracking()
extensión, ya que todo esto es bastante nuevo y bastante confuso.
Estoy usando un contexto por solicitud para un sitio web.
Muchas de mis entidades no cambian, por lo que no es necesario realizar un seguimiento, pero tengo el siguiente escenario en el que no estoy seguro de qué va a la base de datos, o incluso si hace una diferencia en este caso.
Este ejemplo es lo que estoy haciendo actualmente:
context.Set<User>().AsNoTracking()
// Step 1) Get user
context.Set<User>()
// Step 2) Update user
Esto es lo mismo que arriba pero eliminando el .AsNoTracking()
Paso 1:
context.Set<User>();
// Step 1) Get user
context.Set<User>()
// Step 2) Update user
Los pasos 1 y 2 usan el mismo contexto pero ocurren en momentos diferentes. Lo que no puedo resolver es si hay alguna diferencia. Como el Paso 2 es una actualización, supongo que ambos llegarán a la base de datos dos veces de todos modos.
¿Alguien puede decirme cuál es la diferencia?