Какова техническая разница между SubmitChanges в Linq-to-SQL и SaveChanges в Entity Framework?
Какова техническая разница между SubmitChanges в Linq-to-SQL и SaveChanges в Entity Framework?
Мы знаем, что SubmitChanges - это понятие для класса DataContext, а SaveChanges - метод ObjectContext.
Есть ли еще какие-то отличия?
Спасибо
Ответ 1
Из MSDN:
SaveChanges работает в транзакции. SaveChanges откатывает эту транзакцию и генерирует исключение, если какой-либо из грязных объектов ObjectStateEntry не может быть сохранен.
SubmitChanges запускает транзакцию и откатывается, если возникает исключение при выполнении функции SubmitChanges. Однако это не отменяет изменения в памяти или не отслеживает DataContext; эти изменения необходимо будет отменить вручную. Вы можете начать с нового экземпляра DataContext, если изменения в памяти должны быть отброшены.