DefiningQuery-Element (SSDL)

Mit dem DefiningQuery-Element von SSDL (Store Schema Definition Language) können Sie eine SQL-Anweisung direkt in der zugrunde liegenden Datenbank ausführen. Das DefiningQuery-Element wird häufig so ähnlich wie eine Datenbankansicht verwendet, aber die Ansicht wird im Speichermodell und nicht in der Datenbank definiert. Die in einem DefiningQuery-Element definierte Ansicht kann im konzeptionellen Modell durch ein EntitySetMapping-Element einem Entitätstyp zugeordnet werden. Diese Zuordnungen sind schreibgeschützt. Weitere Informationen finden Sie unter How to: Add a Defining Query.

Die folgende SSDL-Syntax zeigt die Deklaration einer EntitySet-Instanz, gefolgt von einem DefiningQuery-Element, das eine Abfrage zum Abrufen der Sicht enthält.

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

Sie können gespeicherte Prozeduren im Entity Framework verwenden, um Lese-/Schreibszenarien über Ansichten zu aktivieren. Als Basistabelle zum Abrufen von Daten und zum Verarbeiten von Änderungen durch gespeicherte Prozeduren kann entweder eine Datenquellenansicht oder eine Entity SQL -Sicht verwendet werden.

Sie können mithilfe des DefiningQuery-Elements auf Microsoft SQL Server Compact 3.5 abzielen. Obwohl SQL Server Compact 3.5 keine gespeicherten Prozeduren unterstützt, können Sie mit dem DefiningQuery-Element eine ähnliche Funktionalität implementieren. Es kann auch beim Erstellen gespeicherter Prozeduren nützlich sein, um einen Konflikt zwischen den in der Programmiersprache und den in der Datenquelle verwendeten Datentypen zu lösen. Sie könnten ein DefiningQuery-Element definieren, das einen bestimmten Satz von Parametern akzeptiert und dann eine gespeicherte Prozedur mit einem anderen Satz von Parametern aufruft, z. B. eine gespeicherte Prozedur, die Daten löscht.

Siehe auch

Konzepte

Übersicht über das Entity Framework
SSDL-Spezifikation

Weitere Ressourcen

CSDL-, SSDL- und MSL-Spezifikationen
ADO.NET Entity Data Model Tools