我收到一个错误
“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();
}
我创建新方法:
公共静态无效更新协议(模型实体上下文,ProcessedFilesXml 处理文件Xml){ 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();
}
但我不知道如何创建 savechanges?