Erro vários objetos com a mesma chave DbContext
Estou recebendo um erro
"Um objeto com a mesma chave já existe no ObjectStateManager. O ObjectStateManager não pode rastrear vários objetos com a mesma chave."
Eu usei esse método em dois lugares. Em primeiro lugar - funciona corretamente, mas no segundo eu tenho erro.
Como decidiu este problema?
Meu método:
public static void UpdateMehod(ModelEntities context, ProcessedFilest processedFiles)
{
context.Set<ProcessedFiles>().Attach(processedFiles);
context.Entry(processedFiles).Property(p => p.ID).IsModified = true;
context.SaveChanges();
}
Eu crio um novo método:
public static void UpdateProtocol (contexto ModelEntities, ProcessedFilesXml processedFilesXml) {var entry = context.Entry (processedFilesXml);
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();
}
Mas eu não sei como criar savechanges?