Generación de SQL

Al escribir un proveedor para Entity Framework , debe traducir los árboles de comandos de Entity Framework en SQL que una base de datos concreta puede entender, como Transact-SQL para SQL Server o PL/SQL para Oracle. En esta sección, obtendrá información sobre cómo desarrollar un componente de generación de SQL (para consultas SELECT) para un proveedor de Entity Framework . Para obtener información sobre las consultas de inserción, actualización y eliminación, vea Generar SQL de modificación.

Para entender esta sección, debe estar familiarizado con Entity Framework y el modelo de proveedor de ADO.NET. También debe comprender los árboles de comandos y DbExpression.

El rol del módulo de generación de SQL

El módulo de generación de SQL de un proveedor de Entity Framework traduce un árbol de comandos de consulta determinado en una instrucción SELECT de SQL única que tiene como destino una base de datos conforme a SQL:1999. El SQL generado debe tener el menor número posible de consultas anidadas. El módulo de generación de SQL no debe simplificar el árbol de comandos de consulta de salida. Entity Framework se encargará de hacerlo, por ejemplo mediante la eliminación de combinaciones y la contracción de nodos de filtro consecutivos.

La clase DBProviderServices es el punto inicial para tener acceso al nivel de generación de SQL para convertir árboles de comandos en DbCommands.

En esta sección

Forma de los árboles de comandos

Generar SQL a partir de árboles de comandos: procedimientos recomendados

Generación de SQL en el proveedor de ejemplo

Vea también

Conceptos

Escribir un proveedor de datos de Entity Framework