Generazione SQL

Quando si scrive un provider per Entity Framework , è necessario convertire le strutture ad albero dei comandi di Entity Framework in codice SQL comprensibile per un determinato database, ad esempio Transact-SQL per SQL Server o PL/SQL per Oracle. In questa sezione viene illustrato come sviluppare un componente di generazione SQL (per le query SELECT) per un provider Entity Framework . Per informazioni sulle query di inserimento, aggiornamento ed eliminazione, vedere Generazione di comandi SQL di modifica.

Per comprendere questa sezione è necessario avere familiarità con Entity Framework e il modello di provider ADO.NET. È inoltre necessario conoscere le strutture ad albero dei comandi e DbExpression.

Ruolo del modulo di generazione SQL

Il modulo di generazione SQL di un provider Entity Framework converte una determinata struttura ad albero dei comandi di query in una singola istruzione SQL SELECT destinata a un database conforme a SQL:1999. Se possibile, il codice SQL generato deve contenere alcune query annidate. Il modulo di generazione SQL non semplifica la struttura ad albero dei comandi di query di output. Tale semplificazione viene garantita da Entity Framework mediante, ad esempio, l'eliminazione di join e la compressione di nodi di filtro consecutivi.

La classe DBProviderServices è il punto di partenza per l'accesso al livello di generazione SQL per convertire le strutture ad albero dei comandi in DbCommands.

In questa sezione

Forma delle strutture ad albero dei comandi

Procedure consigliate per la generazione di SQL dalle strutture ad albero dei comandi

Generazione di comandi SQL nel provider di esempio

Vedere anche

Concetti

Scrittura di un provider di dati Entity Framework