In ADO.NET, ExecuteNonQuery() \"For UPDATE, INSERT, and DELETE statements, the return value is the number of rows affected by the command\" (http://msdn.microsoft.com/en-us/
Maybe this is not direct answer to the question, but may help. By default all commands are encapsulated in one DbTransaction when SaveChanges method is called (Julia Lerman, Programming Entity Framework). So, or all commands will be successfully executed, or neither. That's one way to know if insert, or update or delete was successful.