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.