¿Por qué usar Attach para actualizar Entity Framework 6?

Mientras buscaba las mejores prácticas para realizar la operación CRUD a través de EF, noté que es muy recomendable usarAttach() oFind() métodos antes de actualizar una entidad. Funciona bien y de acuerdo con la documentación de EF, estos métodos traen la entidad al contexto que es bastante claro para mí. Pero el siguiente código me confundió bastante

public void Update(object entity)
{
    Record record = new Record() {
        id = 1,
        value = 5
    };
    using (SomeContext ctx = new SomeContext())
    {
        ctx.Entry(record).State = EntityState.Modified;
        ctx.SaveChanges();
    }
}

Supongamos que tenemos un registro con id = 1 en la base de datos. En esta condición, el código anterior actualizará el registro (establezca el valor en 5). La pregunta es ¿por qué funciona? Y entonces, ¿por qué debería usarAttach()?. Por lo que entiendo, el registro no estaba vinculado al contexto de ninguna manera. Leo capítulos relevantes deesta libro yel tutorial pero usan el enfoque de 2 consultas. También navegué SO pero no encontré respuesta a mi pregunta. Ayúdame con una explicación o algunos buenos materiales, por favor.

Respuestas a la pregunta(1)

Su respuesta a la pregunta