Function-Element (CSDL)
Das Function-Element in konzeptioneller Schemadefinitionssprache (CSDL) wird verwendet, um Funktionen im konzeptionellen Modell zu definieren oder zu deklarieren.Eine Funktion wird mit einem DefiningExpression-Element definiert.Weitere Informationen finden Sie unter How to: Define Custom Functions in the Conceptual Model.
Ein Function-Element kann die folgenden untergeordneten Elemente aufweisen (der vorliegenden Reihenfolge entsprechend):
Dokumentation (kein (null) oder ein Element)
Parameter (kein Element (null) oder mehrere Elemente)
DefiningExpression (kein (null) oder ein Element)
ReturnType (kein (null) oder ein Element)
Anmerkungselemente (kein Element (null) oder mehrere Elemente)
Ein Rückgabetyp für eine Funktion kann entweder mit dem ReturnType-Element oder dem ReturnType-Attribut (siehe unten) angegeben werden, aber nicht mit beiden.Die möglichen Rückgabetypen sind alle EdmSimpleType-Typen, Entitätstypen, komplexe Typen, Zeilentypen (oder eine Auflistung eines dieser Typen) oder Ref-Typen.Weitere Informationen finden Sie unter Konzeptionelle Modelltypen (CSDL).
Anwendbare Attribute
In der folgenden Tabelle werden die Attribute beschrieben, die für das Function-Element übernommen werden können.
Attributname |
Ist erforderlich |
Value |
---|---|---|
Name |
Ja |
Der Name der Funktion. |
ReturnType |
Nein |
Der von der Funktion zurückgegebene Typ. |
Hinweis
Eine beliebige Anzahl von Anmerkungsattributen (benutzerdefinierte XML-Attribute) kann für das Function-Element übernommen werden.Benutzerdefinierte Attribute dürfen jedoch zu keinem XML-Namespace gehören, der für CSDL reserviert ist.Die vollqualifizierten Namen für zwei benutzerdefinierte Attribute dürfen nicht übereinstimmen.
Beispiel
Im folgenden Beispiel wird mithilfe eines Function-Elements eine Funktion definiert, die den Zeitraum seit der Einstellung eines Kursleiters in Jahren zurückgibt.
<Function Name="YearsSinceNow" ReturnType="Edm.Int32">
<Parameter Name="date" Type="Edm.DateTime" />
<DefiningExpression>
Year(CurrentDateTime()) - Year(date)
</DefiningExpression>
</Function>
<Function Name="YearsSince" ReturnType="Edm.Int32">
<Parameter Name="date" Type="Edm.DateTime" />
<DefiningExpression>
Year(CurrentDateTime()) - Year(date)
</DefiningExpression>
</Function>
Siehe auch
Konzepte
Übersicht über das Entity Framework