Condividi tramite


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

È 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

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

Specifiche SSDL

Elemento CommandText (SSDL)

Altre risorse

Specifiche CSDL, SSDL e MSL

Strumenti di ADO.NET Entity Data Model