21

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

我们知道SubmitChanges是类的概念,而是DataContextSaveChanges的方法ObjectContext

还有其他区别吗?

谢谢

4

1 回答 1

34

来自 MSDN:

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

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

于 2012-06-11T13:04:07.250 回答