tutorial inner framework first curso c# entity-framework linq

inner - linq c# syntax



AsNoTracking() e incluir (1)

Tengo una consulta Linq que recupera una entidad y algunas de sus propiedades de navegación.

context.MyEntity .AsNoTracking() .Include(i=> i.Nav1) .Include(i=> i.Nav2) .Where(x=> x.Prop1==1) .FirstOrDefault();

mi pregunta es:

¿Es la consulta anterior suficiente para no rastrear MyEntity ni las propiedades de navegación NAv1 y Nav2 o debo agregar AsNoTracking para cada propiedad de navegación?

Me gusta esto:

context.MyEntity .AsNoTracking() .Include(i=> i.Nav1) .AsNoTracking() .Include(i=> i.Nav2) .AsNoTracking() .Where(x=> x.Prop1==1) .FirstOrDefault();


Utilice AsNoTracking después de haber completado todos los parámetros de consulta pero antes de mover los datos a la memoria. En este ejemplo, querrás:

context.MyEntity .Include(i=> i.Nav1) .Include(i=> i.Nav2) .Where(x=> x.Prop1==1) .AsNoTracking() .FirstOrDefault();

No se rastreará ningún objeto secundario de la entidad principal.