Élément Parameter (CSDL)

L'élément Parameter dans le langage CSDL (Conceptual Schema Definition Language) peut être un enfant de l'élément FunctionImport ou de l' élément Function.

Application de l'élément FunctionImport

Un élément Parameter (en tant qu'enfant de l'élément FunctionImport) est utilisé pour définir les paramètres d'entrée et de sortie pour les importations de fonction déclarées dans le langage CSDL.

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

Attributs applicables

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

Nom d'attribut Requis Valeur

Name

Oui

Nom du paramètre.

Type

Oui

Type du paramètre. La valeur doit être un EDMSimpleType ou un type complexe figurant dans l'étendue du modèle. Pour plus d'informations, consultez Types de modèle conceptuel.

Mode

Non

In, Out ou InOut selon que le paramètre est un paramètre d'entrée, de sortie ou d'entrée/sortie.

MaxLength

Non

Longueur maximale autorisée du paramètre.

Precision

Non

Précision du paramètre.

Scale

Non

Échelle du paramètre.

Ee473431.note(fr-fr,VS.100).gifRemarque :
Un nombre quelconque d'attributs d'annotation (attributs XML personnalisés) peut être appliqué à l'élément Parameter.Toutefois, les attributs personnalisés ne peuvent pas appartenir à un espace de noms XML réservé pour le langage CSDL.Les noms qualifiés complets de deux attributs personnalisés quelconques ne peuvent pas être identiques.

Exemple

L'exemple suivant illustre un élément FunctionImport avec un élément enfant Parameter unique. La fonction accepte un paramètre d'entrée et retourne une collection de types d'entités.

<FunctionImport Name="GetStudentGrades" 
                EntitySet="StudentGrade" 
                ReturnType="Collection(SchoolModel.StudentGrade)">
       <Parameter Name="StudentID" Mode="In" Type="Int32" />
</FunctionImport>

Application de l'élément Function

Un élément Parameter (en tant qu'enfant de l'élément Function) définit les paramètres des fonctions qui sont définies ou déclarées dans un modèle conceptuel.

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

Ee473431.note(fr-fr,VS.100).gifRemarque :
Un seul des éléments CollectionType, ReferenceType ou RowType peut être un élément enfant d'un élément Property.

Ee473431.note(fr-fr,VS.100).gifRemarque :
Les éléments d'annotation doivent figurer après tous les autres éléments enfants.Les éléments d'annotation sont autorisés uniquement dans les modèles conceptuels pour les applications qui ciblent le .NET Framework version 4 ou ultérieure.L'espace de noms XML de tels modèles est https://schemas.microsoft.com/ado/2008/09/edm.

Attributs applicables

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

Nom d'attribut Requis Valeur

Name

Oui

Nom du paramètre.

Type

Non

Type du paramètre. Un paramètre peut correspondre à l'un quelconque des types suivants (ou à des collections de ces types) :

  • EdmSimpleType

  • type d'entité

  • type complexe

  • type de ligne

  • type référence

Pour plus d'informations sur ces types, consultez Types de modèle conceptuel.

Nullable

Non

True (valeur par défaut) ou False selon que la propriété peut avoir ou non une valeur Null.

DefaultValue

Non

Valeur par défaut de la propriété.

MaxLength

Non

Longueur maximale de la valeur de propriété.

FixedLength

Non

True ou False selon que la valeur de propriété sera stockée ou non comme une chaîne de longueur fixe.

Precision

Non

Précision de la valeur de propriété.

Scale

Non

Échelle de la valeur de propriété.

Unicode

Non

True ou False selon que la valeur de propriété sera stockée ou non comme une chaîne Unicode.

Collation

Non

Chaîne qui spécifie l'ordre de classement à utiliser dans la source de données.

Ee473431.note(fr-fr,VS.100).gifRemarque :
Un nombre quelconque d'attributs d'annotation (attributs XML personnalisés) peut être appliqué à l'élément Parameter.Toutefois, les attributs personnalisés ne peuvent pas appartenir à un espace de noms XML réservé pour le langage CSDL.Les noms qualifiés complets de deux attributs personnalisés quelconques ne peuvent pas être identiques.

Exemple

L'exemple suivant illustre un élément Function qui utilise un élément enfant Parameter unique pour définir un paramètre de fonction.

<Function Name="GetYearsEmployed" ReturnType="Edm.Int32">
 <Parameter Name="Instructor" Type="SchoolModel.Person" />
  <DefiningExpression>
  Year(CurrentDateTime()) - Year(cast(Instructor.HireDate as DateTime))
  </DefiningExpression>
</Function>

Voir aussi

Concepts

Vue d'ensemble d'Entity Framework
Spécification CSDL
Élément EntityContainer (CSDL)

Autres ressources

Spécifications CSDL, SSDL et MSL
ADO.NET Entity Data Model Tools
How to: Import a Stored Procedure
How to: Define Custom Functions in the Conceptual Model