Elemento Function (SSDL)
L'elemento Function in SSDL (Store Schema Definition Language) specifica una stored procedure presente nel database sottostante.
L'elemento Function può includere i seguenti elementi figlio (nell'ordine elencato):
Documentation (zero o un elemento)
CommandText (zero o un elemento)
Parameter (zero o più elementi)
Elementi Annotation (zero o più elementi)
È possibile importare stored procedure specificate nel modello di archiviazione nel modello concettuale di un'applicazione.Per ulteriori informazioni, vedere Procedura: importare una stored procedure.L'elemento Function può inoltre essere utilizzato per definire funzioni personalizzate nel modello di archiviazione.Per ulteriori informazioni, vedere Procedura: definire funzioni personalizzate nel modello di archiviazione.
Attributi applicabili
Nella tabella riportata di seguito vengono descritti gli attributi che è possibile applicare all'elemento Function.
Nota
È possibile che alcuni attributi non presenti in questo elenco siano qualificati con l'alias store, ovvero l'alias per lo spazio dei nomi https://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator.Questi attributi vengono utilizzati dalla procedura guidata Aggiorna modello in caso di aggiornamento di un modello.
Nome attributo |
È obbligatorio |
Valore |
---|---|---|
Name |
Sì |
Nome della stored procedure. |
ReturnType |
No |
Tipo restituito della stored procedure. |
Aggregate |
No |
True se la stored procedure restituisce un valore di aggregazione; in caso contrario False. |
BuiltIn |
No |
True se la funzione è incorporata 1; in caso contrario, False. |
StoreFunctionName |
No |
Nome della stored procedure. |
NiladicFunction |
No |
True se la funzione è senza parametri 2; in caso contrario, False. |
IsComposable |
No |
True se la funzione è componibile 3; in caso contrario, False. |
ParameterTypeSemantics |
No |
Enumerazione che definisce la semantica dei tipi utilizzata per risolvere gli overload della funzione.L'enumerazione è definita nel file manifesto del provider per ogni definizione di funzione.Il valore predefinito è AllowImplicitConversion. |
Schema |
No |
Nome dello schema in cui viene definita la stored procedure. |
1 Una funzione incorporata è una funzione definita nel database.Per informazioni sulle funzioni definite nel modello di archiviazione, vedere Elemento CommandText (SSDL).
2 Una funzione senza parametri è una funzione che non accetta parametri e, in caso di chiamata, non richiedere le parentesi.
3 Due funzioni sono componibili se l'output di una funzione può essere l'input per l'altra.
Nota
È possibile applicare un numero qualsiasi di attributi di annotazione (attributi XML personalizzati) all'elemento Function.Tuttavia, gli attributi personalizzati non possono appartenere ad alcuno spazio dei nomi XML riservato a SSDL.I nomi completi per due attributi personalizzati qualsiasi non possono essere uguali.
Esempio
Nell'esempio riportato di seguito viene illustrato un elemento Function corrispondente alla stored procedure UpdateOrderQuantity.La stored procedure accetta due parametri e non restituisce alcun valore.
<Function Name="UpdateOrderQuantity"
Aggregate="false"
BuiltIn="false"
NiladicFunction="false"
IsComposable="false"
ParameterTypeSemantics="AllowImplicitConversion"
Schema="dbo">
<Parameter Name="orderId" Type="int" Mode="In" />
<Parameter Name="newQuantity" Type="int" Mode="In" />
</Function>
<Function Name="UpdateOrderQuantity" Aggregate="false" BuiltIn="false" NiladicFunction="false" IsComposable="false" ParameterTypeSemantics="AllowImplicitConversion" Schema="dbo">
<Parameter Name="orderId" Type="int" Mode="In" />
<Parameter Name="newQuantity" Type="int" Mode="In" />
</Function>
<Function Name="UpdateOrderQuantity" Aggregate="false" BuiltIn="false" NiladicFunction="false" IsComposable="false" ParameterTypeSemantics="AllowImplicitConversion" Schema="dbo">
<Parameter Name="orderId" Type="int" Mode="In" />
<Parameter Name="newQuantity" Type="int" Mode="In" />
</Function>
Vedere anche
Concetti
Panoramica su Entity Framework