Linq-to-SQL 中的 SubmitChanges 和实体框架中的 SaveChanges 之间的技术区别是什么?

本文关键字:之间 SaveChanges 技术 区别 是什么 SubmitChanges 中的 实体 框架 Linq-to-SQL | 更新日期: 2023-09-27 18:36:51

Linq-to-SQL 中的 SubmitChanges 和实体框架中的 SaveChanges 之间的技术区别是什么?

我们知道SubmitChangesDataContext类的概念,而SaveChanges是一种ObjectContext方法。

还有其他区别吗?

谢谢

Linq-to-SQL 中的 SubmitChanges 和实体框架中的 SaveChanges 之间的技术区别是什么?

来自 MSDN:

SaveChanges 在事务中运行。SaveChanges 将回滚该事务,并在任何脏的 ObjectStateEntry 对象无法持久化时引发异常

SubmitChanges

启动事务,如果在执行 SubmitChanges 时发生异常,则会回滚。但是,这不会回滚内存中的更改或由数据上下文跟踪的更改;这些更改需要手动回滚。如果要丢弃内存中的更改,则可以从 DataContext 的新实例开始。