É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é) :
Documentation (zéro ou un élément autorisé) ;
Parameter (zéro, un ou plusieurs éléments autorisés) ;
éléments d'annotation (zéro, un ou plusieurs éléments autorisés).
Un élément Parameter doit être défini pour chaque paramètre que la fonction accepte.
Attributs applicables
Le tableau suivant décrit les attributs qui peuvent s'appliquer à l'élément FunctionImport.
Nom d'attribut | Requis | Valeur |
---|---|---|
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 correspondre à un type EDMSimpleType, un type d'entité, un type complexe ou une collection de types d'entités ou de types complexes au sein de l'étendue du modèle.
Remarque :
Dans un modèle conceptuel pour une application qui cible .NET Framework version 3.5 SP1, le type de retour doit être une collection de types EDMSimpleType ou de types d'entités.
|
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é. |
Remarque : |
---|
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
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