Freigeben über


Function-Element (SSDL)

Die Definition des Function-Elements in der Datenspeicherschema-Definitionssprache (SSDL) im Entity Data Model (EDM) gibt an, dass eine gespeicherte Prozedur in der Datenbank vorhanden ist. Geschachtelte Parameterelemente geben die Namen von Parametern und deren Datentypen an. Diese Definitionen kennzeichnen eine gespeicherte Prozedur, die einer Entität und ihren Eigenschaften zugeordnet werden kann.

In der aktuellen Version des Entity Framework muss das IsComposable-Attribut einer Funktionsdeklaration zur Darstellung einer gespeicherten Prozedur auf false festgelegt werden. Diese Einstellung gibt an, dass von der Prozedur zurückgegebene Ergebnisse nicht in der FROM-Klausel anderer SQL-Anweisungen verwendet werden können.

Ein Gewusst-wie-Thema zu gespeicherten Prozeduren finden Sie unter Gewusst wie: Definieren eines Modells mit einer gespeicherten Prozedur (Entity Framework).

Im folgenden Beispiel werden die SSDL-Metadaten für die SUBSTRING-Funktion gezeigt.

<?xml version="1.0" encoding="utf-8"?>
<Schema Namespace="Northwind" Alias="Self" 
xmlns:edm="https://schemas.microsoft.com/ado/2006/04/edm/ssdl"
   xmlns="https://schemas.microsoft.com/ado/2006/04/edm/ssdl">

   <! Other declarations.-->
  <Function Name="SUBSTRING" ReturnType="varchar" BuiltIn="true">
    <Documentation> 
       <Summary>Function accepts a source string, the starting position
         and the length of the sub-string to be extracted</Summary> 
       <LongDescription>Long Description if needed. </LongDescription> 
    </Documentation>

    <Parameter Name="str" Mode="In" Type="varchar" />
    <Parameter Name="start" Mode="In" Type="int">
      <Documentation> 
        <Summary>The starting position of the substring</Summary> 
        <LongDescription>Long Description.</LongDescription> 
      </Documentation>
    </Parameter>

    <Parameter Name="length" Mode="In" Type="int" />
  </Function>

</Schema>

Die folgenden SSDL-Deklarationen geben drei gespeicherte Prozeduren zum Erstellen, Aktualisieren und Löschen von Entitäten und der darin enthaltenen Daten an: CreateVendor, UpdateVendor und DeleteVendor.

<Function Name="CreateVendor" IsComposable="false" Schema="dbo">    
    <Parameter Name="ID" Type="int" />    
    <Parameter Name="Name" Type="nvarchar" />    
    <Parameter Name="Description" Type="nvarchar(max)" />    
  </Function>

  <Function Name="UpdateVendor" IsComposable="false" Schema="dbo">
    <Parameter Name="ID" Type="int" />
    <Parameter Name="Name" Type="nvarchar" />
    <Parameter Name="Description" Type="nvarchar(max)" />
  </Function>

  <Function Name="DeleteVendor" IsComposable="false" Schema="dbo">
    <Parameter Name="ID" Type="int" />    
  </Function>
</Schema>

Siehe auch

Aufgaben

Gewusst wie: Definieren eines Modells mit einer gespeicherten Prozedur (Entity Framework)

Konzepte

Unterstützung für gespeicherte Prozeduren (Entity Framework)