Partager via


Élément Function (SSDL)

L'élément Function en langage SSDL (Store Schema Definition Language) spécifie une procédure stockée existante dans la base de données sous-jacente.

L'élément Function peut avoir les éléments enfants suivants (dans l'ordre répertorié) :

Les procédures stockées spécifiées dans le modèle de stockage peuvent être importées dans le modèle conceptuel d'une application.Pour plus d'informations, consultez Procédure : importer une procédure stockée.L'élément Function peut également être utilisé pour définir des fonctions personnalisées dans le modèle de stockage.Pour plus d'informations, consultez Procédure : définir une fonction personnalisée dans le modèle de stockage.

Attributs applicables

Le tableau ci-dessous décrit les attributs qui peuvent s'appliquer à l'élément Function.

Notes

Certains attributs (non répertoriés ici) peuvent être qualifiés avec l'alias store, qui est l'alias pour l'espace de noms https://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator.Ces attributs sont utilisés par l'Assistant Mise à jour du modèle lors de la mise à jour d'un modèle.

Nom d'attribut

Requis

Value

Name

Oui

Nom de la procédure stockée.

ReturnType

Non

Type de retour de la procédure stockée.

Aggregate

Non

True si la procédure stockée retourne une valeur d'agrégation ; sinon False.

BuiltIn

Non

True si la fonction est une fonction intégrée 1 ; sinon False.

StoreFunctionName

Non

Nom de la procédure stockée.

NiladicFunction

Non

True si la fonction est une fonction niladique 2 ; sinon False.

IsComposable

Non

True si la fonction est une fonction composable 3 ; sinon False.

ParameterTypeSemantics

Non

Énumération qui définit la sémantique de type utilisée pour résoudre les surcharges de fonction.L'énumération est définie dans le manifeste du fournisseur par définition de fonction.La valeur par défaut est AllowImplicitConversion.

Schema

Non

Nom du schéma dans lequel une procédure stockée est définie.

1 Une fonction intégrée est une fonction définie dans la base de données.Pour plus d'informations sur les fonctions définies dans le modèle de stockage, consultez Élément CommandText (SSDL).

2 Une fonction niladique est une fonction qui n'accepte pas de paramètres et qui ne requiert pas de parenthèses lorsqu'elle est appelée.

3 Deux fonctions sont composables si la sortie d'une fonction peut être l'entrée de l'autre fonction.

Notes

Un nombre quelconque d'attributs d'annotation (attributs XML personnalisés) peut être appliqué à l'élément Function.Toutefois, les attributs personnalisés ne peuvent pas appartenir à un espace de noms XML réservé pour le langage SSDL.Les noms qualifiés complets de deux attributs personnalisés quelconques ne peuvent pas être identiques.

Exemple

L'exemple suivant affiche un élément Function qui correspond à la procédure stockée UpdateOrderQuantity.La procédure stockée accepte deux paramètres et ne retourne pas de valeur.

<Function Name="UpdateOrderQuantity" 
          Aggregate="false" 
          BuiltIn="false" 
          NiladicFunction="false" 
          IsComposable="false" 
          ParameterTypeSemantics="AllowImplicitConversion" 
          Schema="dbo">
  <Parameter Name="orderId" Type="int" Mode="In" />
  <Parameter Name="newQuantity" Type="int" Mode="In" />
</Function>
<Function Name="UpdateOrderQuantity" Aggregate="false" BuiltIn="false" NiladicFunction="false" IsComposable="false" ParameterTypeSemantics="AllowImplicitConversion" Schema="dbo">
  <Parameter Name="orderId" Type="int" Mode="In" />
  <Parameter Name="newQuantity" Type="int" Mode="In" />
</Function>

<Function Name="UpdateOrderQuantity" Aggregate="false" BuiltIn="false" NiladicFunction="false" IsComposable="false" ParameterTypeSemantics="AllowImplicitConversion" Schema="dbo">
  <Parameter Name="orderId" Type="int" Mode="In" />
  <Parameter Name="newQuantity" Type="int" Mode="In" />
</Function>

Voir aussi

Concepts

Vue d'ensemble d'Entity Framework

Spécification SSDL

Élément CommandText (SSDL)

Autres ressources

Spécifications CSDL, SSDL et MSL

ADO.NET Entity Data Model Tools