【发布时间】:2012-08-09 23:59:54
【问题描述】:
foreach (var item in order.MyFiles)
{
var newFile = adapter.db.File.CreateObject();
newFile.Name = item.FileName;
adapter.db.File.AddObject(newFile);
adapter.db.SaveChanges();
item.MyFile.Add(new MyFile { FileID = newFile.FileID });
adapter.db.SaveChanges();
}
foreach (var item in tempFilesList)
{
adapter.db.DeleteObject(item);
}
adapter.db.SaveChanges();
该代码重复了 MyFile 表中的行,例如,如果循环迭代 3 次,我看到 6 行 (3 x 2*adapter.db.SaveChanges() ???)
但是,如果我只有一个 adapter.db.SaveChanges();(最后一个)我会收到错误
无法确定“my_dbModel.FK_MyFile_File”关系的主体端。多个添加的实体可能具有相同的主键。
我想这是因为在这种情况下它没有提交 adapter.db.File.AddObject(newFile); 项目,然后将它们分配给 item.MyFile.Add(new MyFile { FileID = newFile.FileID }); 但我可能是错的,有什么想法可以解决它吗?
【问题讨论】:
标签: c# entity-framework