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

Value

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 eine COLLECTION von RowType, ComplexType, EntityType oder EDMSimpleType 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

Aufgaben

How to: Import a Stored Procedure

Konzepte

Übersicht über das Entity Framework

CSDL-Spezifikation

EntityContainer-Element (CSDL)

Andere Ressourcen

CSDL-, SSDL- und MSL-Spezifikationen

ADO.NET Entity Data Model Tools