Błąd wielu obiektów przy użyciu tego samego klucza DbContext

Dostaję błąd

„Obiekt z tym samym kluczem już istnieje w ObjectStateManager. ObjectStateManager nie może śledzić wielu obiektów za pomocą tego samego klucza.”

Użyłem tej metody w dwóch miejscach. Na pierwszym miejscu - działa poprawnie, ale w drugim mam błąd.

Jak zdecydował ten problem?

Moja metoda:

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

Tworzę nową metodę:

public static void UpdateProtocol (kontekst ModelEntities, ProcessedFilesXml przetworzonyFilesXml) {var entry = context.Entry (przetworzonyFilesXml);

        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();
    }

Ale nie wiem, jak tworzyć zmiany?

questionAnswers(1)

yourAnswerToTheQuestion