Currently, as an Entity Framework query gets translated by dotConnect (either an ESQL or a LINQ one), its "dialect" depends on the value of the ProviderManifestToken attribute from SSDL schema.
This behavior makes it impossible to use the same SSDL schema against multiple server versions (e.g. 11g and 12c).
Desired behavior would be to perform query translation based on a real version of the server in use (i.e. of the one, to which a connection is going to be established). This can be done for instance using ProviderManifestToken returned by DbProviderServices.GetProviderManifestToken(connection).

This is how Entity Framework works in case of XML mapping (edmx/edml files).
ProviderManifestToken stores all needed information about the target server so that Entity Framework engine be able to create SQL in the disconnected mode without "live" connection to the database. Here is a workaround: set Metadata Artifact Processing=Copy To Output Directory for your model to generate separate mapping files (*.csdl, *.ssdl, *.msl) and use the following code: