Freigeben über


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):

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.

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

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