Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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. (Obligatoriskt)
Typ av returvärde. (Valfritt)
Anmärkning
Om ingen returtyp har angetts ogiltigförklaras returvärdet.
Information om parametrar (Valfritt)
Ett entitets-SQL-uttryck som definierar funktionens brödtext.
Observera att modelldefinierade funktioner inte stöder utdataparametrar. Den här begränsningen existerar för att de modelldefinierade funktionerna ska kunna komponeras.
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>