我是否应该费心检查对象是否正确保存?
if (objectContext.SaveChanges() > 0)
如果没有,它应该只是抛出一个异常,对吗?
根据msdn 文档,SaveChanges() 方法将返回添加、修改或删除的记录数。它可能抛出的异常是 InvalidOperationException 或 OptimisticConcurrencyException。
我认为检查记录数量有一些价值。如果您发出一个尝试修改或删除的有效语句,但没有要修改或删除的内容,它只会返回 0,即使不会出现异常,因为技术上没有发生任何错误。
根据MSDN:
SaveChanges 在事务中运行。如果任何脏 ObjectStateEntry 对象无法持久保存,SaveChanges 将回滚该事务并引发异常。
因此,您将希望尝试/捕获异常。如果您想知道受影响记录的数量,那么在 try 块中您将拥有int recordsAffected = objectContext.SaveChanges();
以 MSDN 链接为例。