Partager via


Fonction définie par modèle (Entity Data Model)

Une fonction définie par modèle est une fonction qui est définie dans un modèle conceptuel. Le corps d'une fonction définie par modèle est exprimé en Entity SQL, ce qui permet d'exprimer la fonction indépendamment de règles ou des langages pris en charge dans la source de données.

Une définition pour une fonction définie par modèle contient les informations suivantes :

  • Nom de la fonction. (Requis)

  • Type de la valeur de retour. (Facultatif)

    Ee382833.note(fr-fr,VS.100).gifRemarque :
    Si aucun type de retour n'est spécifié, la valeur de retour est void.

  • Informations sur les paramètres. (Facultatif)

  • Expression Entity SQL qui définit le corps de la fonction.

Notez que les fonctions définies par modèle ne prennent pas en charge les paramètres de sortie. Cette restriction est en place de manière à ce que des fonctions définies par modèle puissent être composées.

Exemple

Le diagramme suivant montre un modèle conceptuel avec trois types d'entité : Book, Publisher et Author.

Modèle avec date publiée

ADO.NET Entity Framework utilise un langage spécifique à un domaine (DSL), appelé CSDL (Conceptual Schema Definition Language), pour définir des modèles conceptuels. Le CSDL suivant définit une fonction dans le modèle conceptuel qui retourne le nombre d'années écoulées depuis la publication d'une instance de Book (dans le diagramme ci-dessus).

<Function Name="GetYearsInPrint" ReturnType="Edm.Int32" >
      <Parameter Name="book" Type="BooksModel.Book" />
      <DefiningExpression>
        Year(CurrentDateTime()) - Year(cast(book.PublishedDate as DateTime))
      </DefiningExpression>
    </Function>

Voir aussi

Concepts

Concepts clés d'Entity Data Model
Entity Data Model
Entity Data Model : types de données primitifs