Ошибка нескольких объектов с одним и тем же ключом DbContext
Я получаю ошибку
«Объект с таким же ключом уже существует в ObjectStateManager. ObjectStateManager не может отслеживать несколько объектов с одним и тем же ключом».
Я использовал этот метод в двух местах. На первом месте - работать правильно, но на втором у меня ошибка.
Как решили эту проблему?
Мой метод:
public static void UpdateMehod(ModelEntities context, ProcessedFilest processedFiles)
{
context.Set<ProcessedFiles>().Attach(processedFiles);
context.Entry(processedFiles).Property(p => p.ID).IsModified = true;
context.SaveChanges();
}
Я создаю новый метод:
public static void UpdateProtocol (контекст ModelEntities, ProcessedFilesXml processingFilesXml) {var entry = context.Entry (processingFilesXml);
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();
}
Но я не знаю, как создавать спасброски?