DefiningExpression-Element (CSDL)
Das DefiningExpression-Element in konzeptioneller Schemadefinitionssprache (CSDL) enthält einen Entity SQL-Ausdruck, der im konzeptionellen Modell eine Funktion definiert.Weitere Informationen finden Sie unter Function-Element (CSDL) und Entity SQL-Sprache.
Hinweis
Zu Validierungszwecken kann ein DefiningExpression-Element beliebigen Inhalt enthalten.Entity Framework löst zur Laufzeit jedoch eine Ausnahme aus, wenn ein DefiningExpression-Element keinen gültigen Entity SQL-Ausdruck enthält.
Anwendbare Attribute
Eine beliebige Anzahl von Anmerkungsattributen (benutzerdefinierte XML-Attribute) kann für das DefiningExpression-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 DefiningExpression-Elements eine Funktion definiert, die den Zeitraum seit der Veröffentlichung eines Buchs in Jahren zurückgibt.Der Inhalt des DefiningExpression-Elements wird in Entity SQL geschrieben.
<Function Name="GetYearsInPrint" ReturnType="Edm.Int32" >
<Parameter Name="book" Type="BooksModel.Book" />
<DefiningExpression>
Year(CurrentDateTime()) - Year(cast(book.PublishedDate as DateTime))
</DefiningExpression>
</Function>
Siehe auch
Konzepte
Übersicht über das Entity Framework