Partager via


Élément DefiningQuery (SSDL)

Dans le langage SSDL (Store Schema Definition Language), l'élément DefiningQuery permet d'exécuter une instruction SQL directement dans la base de données sous-jacente. L'élément DefiningQuery est couramment utilisé comme une vue de base de données, mais la vue est définie dans le modèle de stockage à la place de la base de données. La vue définie dans un élément DefiningQuery peut être mappée à un type d'entité dans le modèle conceptuel via un élément EntitySetMapping. Ces mappages sont en lecture seule. Pour plus d'informations, consultez How to: Add a Defining Query.

La syntaxe SSDL suivante illustre la déclaration d'un EntitySet suivie de l'élément DefiningQuery qui contient une requête utilisée pour récupérer la vue.

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

Vous pouvez utiliser des procédures stockées dans Entity Framework pour permettre d'utiliser des scénarios en lecture-écriture sur des vues. Vous pouvez utiliser une vue de source de données ou une vue Entity SQL comme table de base pour la récupération de données et le traitement des modifications par des procédures stockées.

Vous pouvez utiliser l'élément DefiningQuery pour cibler Microsoft SQL Server Compact 3.5. Bien que SQL Server Compact 3.5 ne prenne pas en charge les procédures stockées, vous pouvez implémenter une fonctionnalité similaire à l'aide de l'élément DefiningQuery. Cet élément peut s'avérer également utile pour créer des procédures stockées afin de surmonter une incompatibilité entre les types de données utilisés dans le langage de programmation et ceux de la source de données. Vous pouvez écrire un élément DefiningQuery qui prend un certain jeu de paramètres, puis qui appelle une procédure stockée avec un jeu de paramètres différent, par exemple, une procédure stockée qui supprime des données.

Voir aussi

Concepts

Vue d'ensemble d'Entity Framework
Spécification SSDL

Autres ressources

Spécifications CSDL, SSDL et MSL
ADO.NET Entity Data Model Tools