C # Невозможно определить основной конец отношений
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();
(последний) Я получаю ошибку
Unable to determine the principal end of the 'my_dbModel.FK_MyFile_File' relationship. Multiple added entities may have the same primary key.
Я полагаю, это вызвано тем, что в этом случае он не фиксируетadapter.db.File.AddObject(newFile);
предметы, прежде чем дать ихitem.MyFile.Add(new MyFile { FileID = newFile.FileID });
Но я могу ошибаться, есть идеи как это исправить?