funzione definita dal modellomodel-defined function

Oggetto definita dal modello di funzione è una funzione definita in un modello concettuale.A model-defined function is a function that is defined in a conceptual model. Il corpo di una funzione definita dal modello viene espresso Entity SQL, che consente la funzione di esprimere in modo indipendente da regole o dai linguaggi supportati nell'origine dati.The body of a model-defined function is expressed in Entity SQL, which allows for the function to be expressed independently of rules or languages supported in the data source.

Una definizione per una funzione definita dal modello contiene le informazioni seguenti:A definition for a model-defined function contains the following information:

  • Un nome di funzioneA function name. (obbligatorio).(Required)

  • Il tipo del valore restituitoThe type of the return value. (facoltativo)(Optional)

    Nota

    Se non viene specificato alcun tipo restituito, il valore restituito sarà void.If no return type is specified, the return value is void.

  • Informazioni sui parametriParameter information. (facoltativo)(Optional)

  • Un Entity SQL espressione che definisce il corpo della funzione.An Entity SQL expression that defines the body of the function.

Si noti che le funzioni definite dal modello non supportano parametri di output.Note that model-defined functions do not support output parameters. Questa restrizione esiste perché possano essere create funzioni definite dal modello.This restriction is in place so that model-defined functions can be composed.

EsempioExample

Nel diagramma seguente viene illustrato un modello concettuale con tre tipi di entità: Book, Publisher e Author.The diagram below shows a conceptual model with three entity types: Book, Publisher, and Author.

Modello con data pubblicataModel With Published Date

Il ADO.NET Entity Framework Usa un linguaggio specifico di dominio (DSL), chiamato linguaggio conceptual schema definition language (CSDL) per definire i modelli concettuali.The ADO.NET Entity Framework uses a domain-specific language (DSL) called conceptual schema definition language (CSDL) to define conceptual models. 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).The following CSDL defines a function in the conceptual model that returns the numbers of years since an instance of a Book (in the diagram above) was published.

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

Vedere ancheSee Also

Concetti chiave di Entity Data ModelEntity Data Model Key Concepts
Entity Data ModelEntity Data Model
Entity Data Model: tipi di dati primitiviEntity Data Model: Primitive Data Types