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();
Ese código duplica filas de la tabla MyFile
, por ejemplo, si se repite el bucle 3 veces veo 6 filas (3 x 2 * adapter.db.SaveChanges()
???)C# No se puede determinar el fin principal de la relación
Sin embargo, si sólo tengo una sola adapter.db.SaveChanges();
(esto último) me sale el error
No se puede determinar el fin principal de la relación 'my_dbModel.FK_MyFile_File'. Múltiples entidades agregadas pueden tener la misma clave principal.
supongo que se debe a que en ese caso no compromete a los artículos antes de adapter.db.File.AddObject(newFile);
assinging a la item.MyFile.Add(new MyFile { FileID = newFile.FileID });
Pero puedo estar equivocado, alguna idea de cómo solucionarlo?
Has guardado mi noche, muchas gracias :) – Tony
¡Resolvió mi problema también! – HuckIt