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
CSDL-Spezifikation
FunctionImport-Element (CSDL)
Weitere Ressourcen
CSDL-, SSDL- und MSL-Spezifikationen
ADO.NET Entity Data Model Tools