Share via


Modelldefinierte Funktion (Entity Data Model)

Eine modelldefinierte Funktion ist eine Funktion, die in einem konzeptionellen Modell definiert wird. Der Text einer modelldefinierten Funktion wird in Entity SQL ausgedrückt, sodass die Funktion unabhängig von in der Datenquelle unterstützten Regeln oder Sprachen ausgedrückt werden kann.

Eine Definition für eine modelldefinierte Funktion enthält die folgenden Informationen:

  • Einen Funktionsnamen. (erforderlich)

  • Den Typ des Rückgabewerts. (optional)

    Ee382833.note(de-de,VS.100).gifHinweis:
    Wenn kein Rückgabetyp angegeben wird, ist der Rückgabewert leer.

  • Parameterinformationen. (optional)

  • Ein Entity SQL-Ausdruck, der den Text der Funktion definiert.

Beachten Sie, dass modelldefinierte Funktionen keine Ausgabeparameter unterstützen. Diese Einschränkung ist vorhanden, damit modelldefinierte Funktionen verfasst werden können.

Beispiel

Die unten stehende Abbildung zeigt ein konzeptionelles Modell mit drei Entitätstypen: Book, Publisher und Author.

Modell mit Veröffentlichungsdatum

Das ADO.NET Entity Framework verwendet eine domänenspezifische Sprache (DSL) mit der Bezeichnung konzeptionelle Schemadefinitionssprache (CSDL), um konzeptionelle Modelle zu definieren. Die folgende CSDL definiert eine Funktion im konzeptionellen Modell, das die Anzahl der Jahre zurückgibt, seit eine Instanz eines Book (in der Abbildung oben) veröffentlicht wurde.

<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

Schlüsselkonzepte im Entity Data Model
Entity Data Model
Entity Data Model: Primitive Datentypen