I'm planning on building a WCF service that will fetch data entities from a Sql Server database. And I'm currently struggling with best practices issues.
The thing is that there's a few different ways for a user to fetch different data. For example, customer orders can be obtained from a date range, but this date range could apply to either the date the command was processed, the deadline date or the date it's actually going to be shipped.
If client apps were directly speaking to Sql Server this would be easy enough. But now with WCF I feel I must do service changes each time I want to introduce a new way of interrogating data (new service API). This means having to take down the service, losing state, updating it and restarting it.
I could of course pass a filter string to my service methods but security wise it doesn't seem to be a good idea.
As you can probably tell by now I'm pretty green with WCF and there's probably something I'm missing. Any guidance would be much appreciated.