Condividi tramite


Elemento FunctionImport (CSDL)

L'elemento FunctionImport in Conceptual Schema Definition Language (CSDL) rappresenta una funzione definita nell'origine dati ma disponibile a oggetti tramite il modello concettuale.Ad esempio, è possibile utilizzare un elemento Function nel modello di archiviazione per rappresentare una stored procedure in un database.Un elemento FunctionImport nel modello concettuale rappresenta la funzione corrispondente in un'applicazione Entity Framework ed è mappato alla funzione del modello di archiviazione tramite l'utilizzo dell'elemento FunctionImportMapping.Quando la funzione viene chiamata nell'applicazione, la stored procedure corrispondente viene eseguita nel database.

È possibile generare un metodo CLR (Common Language Runtime) per un'applicazione Entity Framework basandosi su un elemento FunctionImport.Per ulteriori informazioni, vedere Cenni preliminari sul codice generato (Entity Data Model Designer) e Procedura: utilizzare EdmGen.exe per generare codice del livello oggetti.

L'elemento FunctionImport può includere i seguenti elementi figlio (nell'ordine elencato):

Un solo elemento Parameter deve essere definito per ogni parametro che la funzione accetta.

Attributi applicabili

Nella tabella riportata di seguito vengono descritti gli attributi che è possibile applicare all'elemento FunctionImport.

Nome attributo

È obbligatorio

Valore

Name

Nome della funzione importata.

ReturnType

No

Tipo restituito dalla funzione.Non utilizzare questo attributo se la funzione non restituisce un valore.In caso contrario, il valore deve essere un oggetto COLLECTION di RowType, ComplexType, EntityType o EDMSimpleType.

EntitySet

No

Se la funzione restituisce una raccolta di tipi di entità, il valore di EntitySet deve essere il set di entità al quale appartiene la raccolta.In caso contrario, l'attributo EntitySet non deve essere utilizzato.

Nota

È possibile applicare un qualsiasi numero di attributi di annotazione (attributi XML personalizzati) all'elemento FunctionImport.Tuttavia, gli attributi personalizzati non possono appartenere ad alcuno spazio dei nomi XML riservato a CSDL.I nomi completi per due attributi personalizzati qualsiasi non possono essere uguali.

Esempio

Nell'esempio seguente viene mostrato un elemento FunctionImport che accetta un parametro e restituisce una raccolta di tipi di entità:

<FunctionImport Name="GetStudentGrades" 
                EntitySet="StudentGrade" 
                ReturnType="Collection(SchoolModel.StudentGrade)">
       <Parameter Name="StudentID" Mode="In" Type="Int32" />
</FunctionImport>

Vedere anche

Attivitá

Procedura: importare una stored procedure

Concetti

Panoramica su Entity Framework

Specifiche CSDL

Elemento EntityContainer (CSDL)

Altre risorse

Specifiche CSDL, SSDL e MSL

Strumenti di ADO.NET Entity Data Model