Существует очень большая разница, потому что вторая версия ужасно неверна.
Что вы делаете с помощью этого кода:
AddToContext1(context);
context.SaveChanges(false);
Вы добавляете запись в контекст в состоянии добавленного и позволяете контекстувставить запись в базу данных, но в то же время вы говорите: «Пусть данные в состоянии добавлено».
Что радует, если вы называете это:
AddToContext2(context);
context.SaveChanges(false);
Вы добавляете еще одну записьк контексту в состоянии «добавлено» и пусть контекст вставит все записи в состоянии «добавлено» в базу данных = первая запись будет добавлена снова
Не имеет значения, действительно ли AddToContext
выполняет обновлениепотому что он просто сделает команду DB снова.Поэтому, если у вас есть 5000 записей, вы вставите или обновите первую 5000 раз!
Если вы хотите использовать вторую версию, вам все равно придется принимать изменения при каждом сохранении.
Кстати.SaveChanges
bool, принимающий перегрузку, устарел в EFv4.