Guardar entidad separada en Entity Framework 6

He leído un montón de publicaciones sobre cómo guardar una entidad separada en Entity Framework. Todos ellos parecen aplicarse a versiones anteriores de Entity Framework. Hacen referencia a métodos como ApplyCurrentValues ​​y ChangeObjectState que no parecen existir. Por un capricho, decidí probar un método que encontré a través de intellisense y quiero asegurarme de que esta sea la forma correcta de hacerlo, ya que no veo qué sucede detrás de la escena:

public void SaveOrder(Order order)
{
    using (VirtualWebEntities db = new VirtualWebEntities())
    {
        db.Orders.Attach(order);
        db.Entry(order).State = System.Data.Entity.EntityState.Modified;
        db.SaveChanges();
    }
}

¿Es esta la forma correcta de actualizar un elemento existente que se cambió?

Respuestas a la pregunta(1)

Su respuesta a la pregunta