Partager via


Élément DefiningExpression (CSDL)

L'élément DefiningExpression dans le langage CSDL (Conceptual Schema Definition Language) contient une expression Entity SQL qui définit une fonction dans le modèle conceptuel. Pour plus d'informations, consultez Élément Function (CSDL) et Langage Entity SQL.

Dd489503.note(fr-fr,VS.100).gifRemarque :
À des fins de validation, un élément DefiningExpression peut contenir un contenu arbitraire.Toutefois, Entity Framework lèvera une exception au moment de l'exécution si un élément DefiningExpression ne contient pas un code Entity SQL valide.

Attributs applicables

Un nombre quelconque d'attributs d'annotation (attributs XML personnalisés) peut être appliqué à l'élément DefiningExpression. 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 ci-dessous utilise un élément DefiningExpression pour définir une fonction qui retourne le nombre d'années depuis qu'un ouvrage a été publié. Le contenu de l'élément DefiningExpression est écrit dans Entity SQL .

<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

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

Autres ressources

Spécifications CSDL, SSDL et MSL
ADO.NET Entity Data Model Tools