我是否应该执行此检查以查看对象是否已正确保存?
if (objectContext.SaveChanges() > 0)如果没有,它应该抛出一个异常,对吗?
发布于 2009-08-20 18:53:24
根据msdn documentation,SaveChanges()方法将返回添加、修改或删除的记录数。它可能抛出的异常是InvalidOperationException或OptimisticConcurrencyException。
我认为检查记录的数量是有价值的。如果您发出一个有效的语句,试图修改或删除,但是没有要修改或删除的内容,那么它只会返回0,即使不会出现异常,因为从技术上讲,没有发生任何错误。
发布于 2009-08-20 18:55:19
根据MSDN的说法
SaveChanges在事务内运行。如果任何脏ObjectStateEntry对象无法持久化,SaveChanges将回滚该事务并抛出异常。
因此,您可能希望使用try/catch来获取异常。如果您想知道受影响的记录的数量,那么在try块中,您应该使用int recordsAffected = objectContext.SaveChanges();
看看MSDN链接中的一个例子。
https://stackoverflow.com/questions/1308065
复制相似问题