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.

Dd489503.note(it-it,VS.100).gifNota:
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
ADO.NET Entity Data Model Tools