Error en múltiples objetos con la misma clave DbContext

Estoy recibiendo un error

"Ya existe un objeto con la misma clave en el ObjectStateManager. El ObjectStateManager no puede rastrear múltiples objetos con la misma clave".

Utilicé este método en dos lugares. En primer lugar - funciona correctamente, pero en segundo tengo error.

¿Cómo se resolvió este problema?

Mi metodo

public static void UpdateMehod(ModelEntities context, ProcessedFilest processedFiles)
{
    context.Set<ProcessedFiles>().Attach(processedFiles);
    context.Entry(processedFiles).Property(p => p.ID).IsModified = true;
    context.SaveChanges();
}

Creo un nuevo método:

UpdateProtocol public void estático (contexto ModelEntities, ProcessedFilesXml processingFilesXml) {var entry = context.Entry (procesadoFilesXml);

        if (entry.State == EntityState.Detached)
        {
            var set = context.Set<ProcessedFilesXml>();
            ProcessedFilesXml attachedEntity = set.Find(processedFilesXml.ProcessedFileXmlID); 

            if (attachedEntity != null)
            {
                var attachedEntry = context.Entry(attachedEntity);
                attachedEntry.CurrentValues.SetValues(processedFilesXml);
            }
            else
            {
                entry.State = EntityState.Modified; 
            }
        }

        //context.Set<ProcessedFilesXml>().Attach(processedFilesXml);
        //context.Entry(processedFilesXml).Property(p => p.Protocol).IsModified = true;
        //context.SaveChanges();
    }

Pero no sé cómo crear savechanges?

Respuestas a la pregunta(1)

Su respuesta a la pregunta