There is an unsaved comment in progress. You will lose your changes if you continue. Are you sure you want to reopen the work item?
Review the exception types thrown by the OData formatter consistent
Probably doesn't meet the RTM bar.
About the InvalidOperation vs SerializationException, there are ~20 invalid operations thrown in the formatter namespace (more than the serialization exceptions). For consistency, we should either change them all to invalid operation or change them all to serialization exceptions.
IMO, the case when IOE is correct is if it’s a matter of the object’s current state preventing the operation (rather than a parameter being invalid, in which case SE is better). I think there are some cases where the formatter requires state (like the request); in those cases, I think IOE makes sense. In all other cases, I’d go with SE.