We consume edm model from configuration everywhere, like ODataPathHandler, QueryableAttribute. The design doesn't support multiple edm models in configuration. <br /><br />It's not a common scenario to me. So I set the priority to low. Please adjust it with more information.
Comments: We will remove the EnableOData(). Instead, we add config.Routes.MapODataRoute("v1", model1), and MapODataRoute("v2", model2). User will need to call config.EnableODataRoutingConventions() to register action selector and controller selector. User need to call config.EnableQueryableSupport() to enable queryable. We will remove the config.GetEdmModel()/SetEdmModel(), and we will move those to the request instead. We will remove the Model from the formatter. Instead, it retrieves the model from the request. QueryableAttribute retrieve model method a virtual method. By default, it will retrieve from request first, then the auto-construct and cache it in the action descriptor.
Comments: We will remove the EnableOData(). Instead, we add config.Routes.MapODataRoute("v1", model1), and MapODataRoute("v2", model2). User will need to call config.EnableODataRoutingConventions() to register action selector and controller selector. User need to call config.EnableQueryableSupport() to enable queryable. We will remove the config.GetEdmModel()/SetEdmModel(), and we will move those to the request instead. We will remove the Model from the formatter. Instead, it retrieves the model from the request. QueryableAttribute retrieve model method a virtual method. By default, it will retrieve from request first, then the auto-construct and cache it in the action descriptor.