funzione definita dal modello

Una funzione definita dal modello è una funzione che è definita in un modello concettuale. Il corpo di una funzione definita dal modello viene espresso in Entity SQL che consente di esprimere la funzione indipendentemente dalle regole o dai linguaggi supportati nell'origine dati.

Una definizione per una funzione definita dal modello contiene le informazioni seguenti:

  • Un nome di funzione. (obbligatorio).

  • Il tipo del valore restituito (Valore facoltativo)

    Nota

    Se non viene specificato alcun tipo restituito, il valore restituito sarà void.

  • Informazioni sui parametri (Valore facoltativo)

  • Un'espressione Entity SQL che definisce il corpo della funzione.

Si noti che le funzioni definite dal modello non supportano parametri di output. Questa restrizione esiste perché possano essere create funzioni definite dal modello.

Esempio

Nel diagramma seguente viene illustrato un modello concettuale con tre tipi di entità: Book, Publisher e Author.

Screenshot that shows a model with published date.

ADO.NET Entity Framework usa un linguaggio specifico di dominio (DSL) denominato Conceptual Schema Definition Language (CSDL) per definire i modelli concettuali. Nel seguente linguaggio CSDL viene definita una funzione nel modello concettuale che restituisce i numeri di anni da quando è stata pubblicata un'istanza di un Book (nel diagramma precedente).

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

Vedi anche