Share via


Élément Function (SSDL)

La définition de l'élément Function en langage SSDL (Store Schema Definition Language) dans le modèle EDM (Entity Data Model) spécifie qu'il existe une procédure stockée dans la base de données. Les éléments de paramètre imbriqués spécifient les noms des paramètres et leurs types de données. Ces définitions identifient une procédure stockée qui peut être mappée à une entité et ses propriétés.

Dans la version actuelle d'Entity Framework, la valeur false doit être affectée à l'attribut IsComposable d'une déclaration de fonction qui représente une procédure stockée. Ce paramètre indique que les résultats retournés par la procédure ne peuvent pas être utilisés dans la clause FROM d'autres instructions SQL.

Pour consulter une rubrique de procédure sur les procédures stockées, voir Procédure : définir un modèle avec une procédure stockée (Entity Framework).

L'exemple suivant illustre les métadonnées SSDL pour la fonction SUBSTRING.

<?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>

Les déclarations SSDL suivantes spécifient trois procédures stockées qui permettent de créer, mettre à jour et supprimer des entités et les données qu'elles contiennent : CreateVendor, UpdateVendor et 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>

Voir aussi

Tâches

Procédure : définir un modèle avec une procédure stockée (Entity Framework)

Concepts

Prise en charge des procédures stockées (Entity Framework)