Share via


Élément FunctionImport (CSDL)

L'élément FunctionImport dans le langage CSDL (Conceptual Schema Definition Language) représente une fonction définie dans la source de données mais disponible pour les objets via le modèle conceptuel.Par exemple, un élément Function dans le modèle de stockage peut être utilisé pour représenter une procédure stockée dans une base de données.Un élément FunctionImport dans le modèle conceptuel représente la fonction correspondante dans une application Entity Framework et est mappé à la fonction du modèle de stockage à l'aide de l'élément FunctionImportMapping.Lorsque la fonction est appelée dans l'application, la procédure stockée correspondante est exécutée dans la base de données.

Une méthode CLR (Common Language Runtime) peut être générée pour une application Entity Framework en fonction d'un élément FunctionImport.Pour plus d'informations, consultez Vue d'ensemble de code généré (Entity Data Model Designer) et Procédure : utiliser EdmGen.exe pour générer un code de couche objet.

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

Un élément Parameter doit être défini pour chaque paramètre que la fonction accepte.

Attributs applicables

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

Nom d'attribut

Requis

Value

Name

Oui

Nom de la fonction importée.

ReturnType

Non

Type retourné par la fonction.N'utilisez pas cet attribut si la fonction ne retourne pas de valeur.Sinon, la valeur doit être une COLLECTION de RowType, de ComplexType, d'EntityType ou d'EDMSimpleType.

EntitySet

Non

Si la fonction retourne une collection de types d'entités, la valeur de l'EntitySet doit être le jeu d'entités auquel la collection appartient.Dans le cas contraire, l'attribut EntitySet ne doit pas être utilisé.

Notes

Un nombre quelconque d'attributs d'annotation (attributs XML personnalisés) peut être appliqué à l'élément FunctionImport.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 qui accepte un paramètre unique 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>

Voir aussi

Tâches

Procédure : importer une procédure stockée

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