Well, when you ask about OData query limits, I think you mean WCF data services limits. OData - protocol; the implementation of what is supported or not in combination with the keywords of the syntax and operation of the OData protocol depends on the OData provider (which is WCF data services in your case, I believe since you marked this question as WCF).
Given that a subset of the LINQ functions is specified in this MSDN article. The number of restrictions is quite substantial, so it is probably best to just connect to it and not list it.
For your first question about recursive queries, I have to admit that I'm not sure what a typical LINQ recursive function will look like if you don't define your own extension method. If you are doing something like this, the best option would be to wrap this recursive call in a special WCF data service service method and call it through a URL like any other service method.
Hope this helps!
source share