Condividi tramite


Elemento DefiningQuery (SSDL)

L'elemento DefiningQuery in SSDL (Store Schema Definition Language) consente di eseguire un'istruzione SQL direttamente nel database sottostante. L'elemento DefiningQuery viene utilizzato comunemente come visualizzazione del database, tuttavia la visualizzazione viene definita nel modello di archiviazione anziché nel database. La visualizzazione definita in un elemento DefiningQuery può essere mappata a un tipo di entità nel modello concettuale tramite un elemento EntitySetMapping. Questi mapping sono di sola lettura. Per ulteriori informazioni, vedere How to: Add a Defining Query.

Nella sintassi SSDL seguente è illustrata la dichiarazione di un oggetto EntitySet seguita dall'elemento DefiningQuery che contiene una query utilizzata per recuperare la visualizzazione.

<Schema> 
    <EntitySet Name="Tables" EntityType="Self.STable"> 
        <DefiningQuery> 
          SELECT  TABLE_CATALOG, 
                  'test' as TABLE_SCHEMA, 
                  TABLE_NAME 
          FROM    INFORMATION_SCHEMA.TABLES
        </DefiningQuery> 
    </EntitySet> 
</Schema>

Le stored procedure possono essere utilizzate in Entity Framework per abilitare scenari di lettura e scrittura sulle visualizzazioni. È possibile utilizzare una visualizzazione dell'origine dati o una visualizzazione Entity SQL come tabella di base per il recupero dei dati e per l'elaborazione delle modifiche da parte delle stored procedure.

L'elemento DefiningQuery può essere utilizzato come destinazione di Microsoft SQL Server Compact 3.5. Sebbene SQL Server Compact 3.5 non supporti stored procedure, è possibile implementare la funzionalità simile con l'elemento DefiningQuery. Un'altra situazione in cui può essere utile è nella creazione di stored procedure per risolvere una mancata corrispondenza tra i tipi di dati utilizzati nel linguaggio di programmazione e quelli dell'origine dati. È possibile scrivere un elemento DefiningQuery che accetta un determinato set di parametri, quindi chiama una stored procedure con un altro set di parametri, ad esempio, una stored procedure che consente di eliminare dati.

Vedere anche

Concetti

Panoramica su Entity Framework
Specifiche SSDL

Altre risorse

Specifiche CSDL, SSDL e MSL
ADO.NET Entity Data Model Tools