We have a Silverlight application which consumes existing WCF Ria service. Now we are going to write new front-end application using HTML/JavaScript. Obviously, WCF Ria Services is not the best option to consume by JavaScript client, that's why we need to decide what to choose. I'm looking at ASP.NET Web API, OData and ServiceStack. Personally, I like the transparency of ServiceStack but OData supports many useful features out-of-the-box. Framework of my dream does the following:
Can I achieve those with ServiceStack? Or maybe some other framework not mentioned here?
Update
ServiceStack vehemently opposes opaque technologies like OData.
Amongst other things, once you expose a query language you've lost control over the query-space your clients have binded to and will have effectively lost confidence in what will be a breaking change, freezing your underlying db schema's in-place. This goes against having a well-defined service boundary in the first place.
In situations that warrants exposing adhoc querying, I'd rather use explicit fields that map to some reflection and a configurable/overridable query-builder so I retain complete control.
Although there are query-based solutions being used with ServiceStack, like this rich Northwind data browser as an example, which comes with a detailed explanation explaining the approach used. I consider this a better approach than OData since the LLBGen data models are decoupled and manageable separate from ServiceStack DTOs.