We use Entity Framework in our product but the database is installed alongside the software for each of our clients. To expose this data I have built a "publish/subscribe-ish" model WCF web service that uses shared sessions to allow the desktop client to notify the service it is available and ready to distribute data. At which point the thinner clients such as mobile apps or web applications can request the data using a unique id / password combination to identify the desktop client (and ultimately its database) it wants data from.
As it stands the web service is very rigid as I'm sure you can imagine; having taken the traditional service operation for each required data set approach.
I would like to replace the current web service with an OData Service for obvious reasons however because the databases are outside the local network of the web service the straight forward WCF DS + EF isn't going to work.
Using ODataLib or WCF Data Services would it be possible to create a data service that merely forwards the request uri and allows a desktop client to parse the query into something Entity Framework understands? If so how would I handle the OData query to EF/SQL on the desktop client side of things. The functionality that does this seems to be deep within the API and tucked away within WCF Data Services (not even sure it exists in ODataLib)
Any help?