Freigeben über


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.

Dd489503.note(de-de,VS.100).gifHinweis:
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