Если у вас есть много объектов, которые содержат довольно мало данных, вы можете начать увеличивать использование памяти.DataContext хранит все отслеженные изменения в памяти, пока вы не вызовете SubmitChanges.Я бы порекомендовал измерить использование памяти вашей программой, чтобы увидеть, будет ли это проблемой для вас.Если проблема с памятью, то да, вам следует вызвать SubmitChanges, чтобы DataContext мог удалить часть этой информации оттуда.
Хотя вызовы SubmitChanges за один вызов имеют свои преимущества и недостатки.Допустим, у вас действительно много данных, и вы используете один вызов SubmitChanges.Это блокирует поток, в котором он находится, до его завершения, а в некоторых случаях это может занять очень и очень много времени.Это плохо, если вы хотите сделать что-то, например, возобновить поток, сообщить о ходе выполнения или выполнить другие побочные действия.В этих случаях вам следует периодически вызывать SubmitChanges, чтобы позволить потоку возобновить обработку другой логики, если она есть или нужна.
Если вам действительно все равно, сколько времени это займет, это ничего не изменитиначе, тогда единственный вызов SubmitChanges хорош.
В любом случае, SubmitChanges по-прежнему разделяет каждое изменение на отдельную команду и выполняет каждую команду по отдельности.Таким образом, он никогда не выполняет групповые или пакетные команды, он всегда один за другим, независимо от того, выполняете ли вы периодические вызовы SubmitChanges или один вызов.
Страница MSDN на этомпоможет вам лучше понять SubmitChanges.Есть и другие полезные ресурсы, разбросанные вокруг.