foreach (var item in order.MyFiles)
{
var newFile = adapter.db.File.CreateObject();
newFile.Name = item.FileName;
adapter.db.File.AddObject(newFile);
adap
You cannot use newFile.FileID when defining a new MyFile before saving changes. The FileID is default (0) until you save the new entity in database. You'd have to use navigation property of File in your MyFile class. EF will detect the relation and will commit data appropriately.
Try to change the line item.MyFile.Add(new MyFile { FileID = newFile.FileID }); with:
item.MyFile.Add(new MyFile { File = newFile });
where File is the navigation property defined in MyFile entity.