Elemento DefiningExpression (CSDL)
L'elemento DefiningExpression in Conceptual Schema Definition Language (CSDL) contiene un'espressione Entity SQL che definisce una funzione nel modello concettuale. Per ulteriori informazioni, vedere Elemento Function (CSDL) e Linguaggio Entity SQL.
Nota: |
---|
Per gli scopi della convalida, un elemento DefiningExpression può contenere contenuto arbitrario.Tuttavia, in Entity Framework verrà generata un'eccezione in fase di runtime se un elemento DefiningExpression non contiene Entity SQL valido. |
Attributi applicabili
È possibile applicare un qualsiasi numero di attributi di annotazione (attributi XML personalizzati) all'elemento DefiningExpression. Tuttavia, gli attributi personalizzati non possono appartenere ad alcuno spazio dei nomi XML riservato a CSDL. I nomi completi per due attributi personalizzati qualsiasi non possono essere uguali.
Esempio
Nell'esempio seguente viene utilizzato un elemento DefiningExpression per definire una funzione che restituisce il numero di anni di pubblicazione di un libro. Il contenuto dell'elemento DefiningExpression è scritto in 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>
Vedere anche
Concetti
Panoramica su Entity Framework
Specifiche CSDL
Elemento FunctionImport (CSDL)