Share via


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):

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

CSDL-Spezifikation

FunctionImport-Element (CSDL)

Modelldefinierte Funktion

Andere Ressourcen

CSDL-, SSDL- und MSL-Spezifikationen

ADO.NET Entity Data Model Tools