Подтвердить что ты не робот

Какова техническая разница между SubmitChanges в Linq-to-SQL и SaveChanges в Entity Framework?

Какова техническая разница между SubmitChanges в Linq-to-SQL и SaveChanges в Entity Framework?

Мы знаем, что SubmitChanges - это понятие для класса DataContext, а SaveChanges - метод ObjectContext.

Есть ли еще какие-то отличия?

Спасибо

4b9b3361

Ответ 1

Из MSDN:

SaveChanges работает в транзакции. SaveChanges откатывает эту транзакцию и генерирует исключение, если какой-либо из грязных объектов ObjectStateEntry не может быть сохранен.

SubmitChanges запускает транзакцию и откатывается, если возникает исключение при выполнении функции SubmitChanges. Однако это не отменяет изменения в памяти или не отслеживает DataContext; эти изменения необходимо будет отменить вручную. Вы можете начать с нового экземпляра DataContext, если изменения в памяти должны быть отброшены.