FunctionImport-Element (CSDL)
Das FunctionImport-Element in konzeptioneller Schemadefinitionssprache (CSDL) stellt eine Funktion dar, die in der Datenquelle definiert wird, aber durch das konzeptionelle Modell für andere Objekte verfügbar ist. Ein Function-Element im Speichermodell kann z. B. verwendet werden, um eine gespeicherte Prozedur in einer Datenbank darzustellen. Ein FunctionImport-Element im konzeptionellen Modell stellt die entsprechende Funktion in einer Entity Framework -Anwendung dar und wird der Speichermodellfunktion mithilfe des FunctionImportMapping-Elements zugeordnet. Wird die Funktion in der Anwendung aufgerufen, wird die entsprechende gespeicherte Prozedur in der Datenbank ausgeführt.
Eine Common Language Runtime (CLR)-Methode kann für eine Entity Framework -Anwendung auf Grundlage eines FunctionImport-Elements generiert werden. Weitere Informationen finden Sie unter Übersicht über generierten Code (Entity Data Model-Designer) und Gewusst wie: Generieren von Code auf Objektebene mithilfe von EdmGen.exe.
Das FunctionImport-Element kann die folgenden untergeordneten Elemente aufweisen (der vorliegenden Reihenfolge entsprechend):
Dokumentation (kein (null oder ein Element zugelassen)
Parameter (kein Element (null) oder mehrere Elemente zugelassen)
Anmerkungselemente (kein (null) Element oder mehrere Elemente zugelassen)
Für jeden von der Funktion akzeptierten Parameter sollte ein Parameter-Element definiert werden.
Anwendbare Attribute
In der folgenden Tabelle werden die Attribute beschrieben, die für das FunctionImport-Element übernommen werden können.
Attributname | Ist erforderlich | Wert |
---|---|---|
Name |
Ja |
Der Name der importierten Funktion. |
ReturnType |
Nein |
Der Typ, den die Funktion zurückgibt. Verwenden Sie dieses Attribut nicht, wenn die Funktion keinen Wert zurückgibt. Andernfalls muss der Wert ein einfacher EDM-Typ, ein Entitätstyp, ein komplexer Typ oder eine Auflistung von Entitätstypen oder komplexen Typen innerhalb des Bereichs des Modells sein.
Hinweis:
In einem konzeptionellen Modell für eine Anwendung, die auf .NET Framework, Version 3.5 SP1, abzielt, muss der Rückgabetyp eine Auflistung von einfachen EDM-Typen oder Entitätstypen sein.
|
EntitySet |
Nein |
Wenn die Funktion eine Auflistung von Entitätstypen zurückgibt, muss der Wert für EntitySet der Entitätssatz sein, zu dem die Auflistung gehört. Andernfalls darf das EntitySet-Attribut nicht verwendet werden. |
Hinweis: |
---|
Eine beliebige Anzahl von Anmerkungsattributen (benutzerdefinierte XML-Attribute) kann für das FunctionImport-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
Das folgende Beispiel zeigt ein FunctionImport-Element, das einen Parameter akzeptiert und eine Auflistung von Entitätstypen zurückgibt:
<FunctionImport Name="GetStudentGrades"
EntitySet="StudentGrade"
ReturnType="Collection(SchoolModel.StudentGrade)">
<Parameter Name="StudentID" Mode="In" Type="Int32" />
</FunctionImport>
Siehe auch
Konzepte
Übersicht über das Entity Framework
CSDL-Spezifikation
EntityContainer-Element (CSDL)
Weitere Ressourcen
CSDL-, SSDL- und MSL-Spezifikationen
ADO.NET Entity Data Model Tools
How to: Import a Stored Procedure