Condividi tramite


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)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)

Altre risorse

Specifiche CSDL, SSDL e MSL

Strumenti di ADO.NET Entity Data Model