Linq-to-SQL 中的 SubmitChanges 和实体框架中的 SaveChanges 之间的技术区别是什么?
本文关键字:之间 SaveChanges 技术 区别 是什么 SubmitChanges 中的 实体 框架 Linq-to-SQL | 更新日期: 2023-09-27 18:36:51
Linq-to-SQL 中的 SubmitChanges
和实体框架中的 SaveChanges
之间的技术区别是什么?
我们知道SubmitChanges
是DataContext
类的概念,而SaveChanges
是一种ObjectContext
方法。
还有其他区别吗?
谢谢
来自 MSDN:
SaveChanges 在事务中运行。SaveChanges 将回滚该事务,并在任何脏的 ObjectStateEntry 对象无法持久化时引发异常
SubmitChanges启动事务,如果在执行 SubmitChanges 时发生异常,则会回滚。但是,这不会回滚内存中的更改或由数据上下文跟踪的更改;这些更改需要手动回滚。如果要丢弃内存中的更改,则可以从 DataContext 的新实例开始。