В LINQ to SQL
InsertOnSubmit()
'Добавляет объект в состоянии отложенной вставки в эту таблицу.'
Принимая во внимание
SubmitChanges()
' Вычисляет набор измененных объектов для вставки, обновления или удаления и выполняет соответствующие команды для реализации изменений в базе данных .'
Таким образом, Linq to SQL отслеживает ваши изменения и затем использует SubmitChanges для создания необходимых транзакций, которые передадут изменения в вашу базу данных.
LINQ to Entites использует
SaveChanges()
, поскольку объекты в Linq to Entites не используют блокировку для записи в базе данных и поэтому должны быть сохранены, а не внесенные изменения.
Существует полный список различий между L2S и L2E в этом стековом потоке вопрос .