modelldefinierad funktion
En modelldefinierad funktion är en funktion som definieras i en konceptmodell. Brödtexten för en modelldefinierad funktion uttrycks i Entitets-SQL, vilket gör att funktionen kan uttryckas oberoende av regler eller språk som stöds i datakällan.
En definition för en modelldefinierad funktion innehåller följande information:
Ett funktionsnamn. (Krävs)
Typ av returvärde. (Valfritt)
Kommentar
Om ingen returtyp har angetts ogiltigförklaras returvärdet.
Parameterinformation. (Valfritt)
Ett entitets-SQL-uttryck som definierar funktionens brödtext.
Observera att modelldefinierade funktioner inte stöder utdataparametrar. Den här begränsningen är på plats så att modelldefinierade funktioner kan bestå.
Exempel
Diagrammet nedan visar en konceptmodell med tre entitetstyper: Book
, Publisher
och Author
.
ADO.NET Entity Framework använder ett domänspecifikt språk (DSL) som kallas CSDL (Conceptual Schema Definition Language) för att definiera konceptuella modeller. Följande CSDL definierar en funktion i den konceptuella modellen som returnerar antalet år sedan en instans av en Book
(i diagrammet ovan) publicerades.
<Function Name="GetYearsInPrint" ReturnType="Edm.Int32" >
<Parameter Name="book" Type="BooksModel.Book" />
<DefiningExpression>
Year(CurrentDateTime()) - Year(cast(book.PublishedDate as DateTime))
</DefiningExpression>
</Function>