Si este error proviene de MySQL una de dos cosas han sucedido:
- No ha configurado correctamente el proveedor.
- Hay un error en su proveedor de EF.
Si este error proviene de su proveedor de MySQL EF, a continuación, una de dos cosas han sucedido:
- No ha configurado correctamente el proveedor.
- Existe una limitación en su proveedor de EF.
SQL se genera por el proveedor. Puede configurar la generación de SQL específica de la versión del servidor a través del ProviderManifestToken attribute in EDMX. Así es como le dices al proveedor que no use funciones de SQL que las versiones de servidores anteriores no admiten.
Es posible que algunos motores de almacenamiento MySQL sean compatibles con funciones de SQL que otros no. En este caso, el proveedor necesitaría usar un subconjunto común de características admitidas por la mayoría de los motores o usar ProviderManifestToken
para permitirle elegir.
Sin embargo, también es posible que un proveedor con errores simplemente devuelva SQL incorrecto. Si este es el caso, entonces debe encontrar una actualización o evitar las consultas que toquen el error.
Actualización: Según la respuesta de @ Devart, parece que esto es una limitación del proveedor, que está diseñado debido a las limitaciones de MySQL. El EF producirá un árbol de comandos canónicos de ADO.NET. Es responsabilidad del proveedor traducir esto a SQL. Si el EF devuelve un nodo cross/outer apply en el CCT, parece que Devart no ha encontrado una forma de traducir esto a SQL que MySQL pueda manejar. Entonces, MySQL simplemente no está a la altura de la tarea de respaldar todas las consultas de EF, o alguien que es un experto de MySQL (¡no yo!) Necesita mostrarle a Devart cómo producir SQL compatible con MySQL que pueda devolver filas para la aplicación cross/outer Nodos CCT
no es soportado por Oracle o bien :( – gbjbaanb
1 para los gráficos – thomaspaulb