10. The method of claim 1 further comprising: in response to determining that the original query does not include a clause unsupported by the second query language, automatically translating, at the computing system, the original query into a translated query expressed in the second query language; after translating the original query into the translated query, receiving, at the computing system, a result set for the translated query from the database, the result set for the translated query comprising data items responsive to the translated query; and after receiving the result set for the translated query, automatically returning, by the computing system, the result set for the translated query to the querying client as the result set of the original query.
1. A method of processing queries, the method comprising: receiving, at a computing system, an original query from a querying client, the original query expressed in a first query language, wherein the first query language is Language Integrated Query (LINQ); automatically determining, at the computing system, whether the original query includes a clause unsupported by a second query language, wherein the second query language is Collaborative Application Markup Language (CAML); in response to determining that the original query includes a clause unsupported by the second query language, automatically separating, at the computing system, the original query into a server-side query and a client-side query, the server-side query comprising supported clauses of the original query, the client-side query comprising unsupported clauses of the original query; after separating the original query into the server-side query and the client-side query, automatically determining, at the computing system, whether the client-side query is efficient; automatically translating, at the computing system, the server-side query into a supplemental query expressed in the second query language; automatically receiving, at the computing system, a server-side result set from a database management system, the database management system managing a database, the server-side result set comprising data items in the database responsive to the supplemental query; when the computing system determines that the client-side query is efficient, automatically generating, by the computing system, a client-side result set by querying the server-side result set using the client-side query; and automatically returning, by the computing system, the client-side result set to the querying client as a result set of the original query.