Right now if you put the queryable attribute on a class it throws on Get(int ID) that returns a single object.
This is patently silly and must be removed. It is absolutely valid to put [Queryable] on a controller and have single item responses in it. Obviously you should SKIP processing any odata commands on methods that return a single object, or you can feel free to throw if there are odata $ commands on a call to a single object response. But if there are no $ commands then it should not throw.
The way it is right now you couldn't put it on an entire class without it being guaranteed to break.
In general I continue to be shocked and amazed by how little understanding of how Web API is going to be used. This isn't the first time I've slapped my head at the silliness of the implementations that are being checked in. It's especially bad when it comes to OData for some reason. You guys really need to figure out your use cases WAY better because if you continue down this path Web API is going to continue to be as useless as V1 was and the old Microsoft gets it right on V3 adage is going to hold true.
Comments: https://aspnetwebstack.codeplex.com/SourceControl/changeset/8b65f6f102b9e336c605f24509bb8cf2d84b9694
This is patently silly and must be removed. It is absolutely valid to put [Queryable] on a controller and have single item responses in it. Obviously you should SKIP processing any odata commands on methods that return a single object, or you can feel free to throw if there are odata $ commands on a call to a single object response. But if there are no $ commands then it should not throw.
The way it is right now you couldn't put it on an entire class without it being guaranteed to break.
In general I continue to be shocked and amazed by how little understanding of how Web API is going to be used. This isn't the first time I've slapped my head at the silliness of the implementations that are being checked in. It's especially bad when it comes to OData for some reason. You guys really need to figure out your use cases WAY better because if you continue down this path Web API is going to continue to be as useless as V1 was and the old Microsoft gets it right on V3 adage is going to hold true.
Comments: https://aspnetwebstack.codeplex.com/SourceControl/changeset/8b65f6f102b9e336c605f24509bb8cf2d84b9694