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 tipo semplice EDM, un tipo di entità, un tipo complesso o una raccolta di tipi di entità o di tipi complessi che è nell'ambito del modello.

Cc716710.note(it-it,VS.100).gifNota:
In un modello concettuale per un'applicazione destinata alla versione .NET Framework3.5 SP1, il tipo restituito deve essere una raccolta di tipi di entità o di tipi semplici EDM.

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.

Cc716710.note(it-it,VS.100).gifNota:
È 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

Concetti

Panoramica su Entity Framework
Specifiche CSDL
Elemento EntityContainer (CSDL)

Altre risorse

Specifiche CSDL, SSDL e MSL
ADO.NET Entity Data Model Tools
How to: Import a Stored Procedure