Проблема для моей ситуации, я считаю, была решена. На мой взгляд, в методе ObjectContext.SaveChanges (SaveOptions) есть ошибка. Хотя этот метод будет вызывать DetectChanges (в зависимости от saveOptions), метод OnSavingChanges называется FIRST. Это, я думаю, проблема.
Решением этой проблемы является вызов ObjectContext.DetectChanges () до вызова SaveChanges ().