Condividi tramite


Procedura: definire funzioni personalizzate nel modello di archiviazione (Entity Framework)

È possibile definire una funzione personalizzata nel modello di archiviazione aggiungendo un elemento Function contenente un elemento CommandText al linguaggio SSDL (Store Schema Definition Language) di un file con estensione edmx. Un elemento CommandText viene comunemente utilizzato per fornire funzionalità simili a quelle fornite dalle stored procedure, ma nel file con estensione edmx è definita la stored procedure e non il database. È possibile definire qualsiasi istruzione SQL, comprese le istruzioni con parametri, in un elemento CommandText.

Dd296754.note(it-it,VS.100).gifNota:
Le modifiche apportate alla sezione SSDL di un file con estensione edmx, come suggerito nella procedura descritta di seguito, verranno sovrascritte se si utilizza la procedura guidata Aggiorna modello per aggiornare il modello.

Definizione di una funzione personalizzata nel modello di archiviazione

La procedura riportata di seguito presuppone che un file con estensione edmx sia aperto nell'editor XML di Visual Studio. La procedura fornisce una struttura di alto livello per l'aggiunta di una funzione personalizzata nel modello di archiviazione. Nell'esempio che segue vengono forniti dettagli aggiuntivi sui passaggi della procedura.

Per definire una funzione personalizzata nel modello di archiviazione

  1. Aggiungere un elemento Function all'elemento Schema nella sezione del contenuto del modello di archiviazione del file con estensione edmx.

    Per ulteriori informazioni, vedere Function Element (SSDL) e Schema Element (SSDL).

  2. Aggiungere un elemento CommandText al nuovo elemento Function.

  3. Definire un'istruzione SQL nell'elemento CommandText.

    L'istruzione può essere con parametri.

  4. Per ogni parametro nella query SQL, aggiungere un elemento Parameter all'elemento Function. Impostare gli attributi Name, Mode e Type di ogni elemento Parameter.

  5. Salvare e chiudere il file con estensione edmx.

  6. Aprire il file con estensione edmx in ADO.NET Entity Data Model Designer (Entity Designer).

    La funzione appena aggiunta sarà visualizzata come una stored procedure nella finestra Browser modello.

  7. Creare un elemento FunctionImport per la stored procedure. Per ulteriori informazioni, vedere Procedura: importare una stored procedure (strumenti di Entity Data Model).

Esempio

Di seguito è riportato un esempio di elemento Function che è possibile aggiungere all'elemento Schema nella sezione del contenuto del modello di archiviazione di un file con estensione edmx per definire una funzione personalizzata. Aggiungendo questo elemento Function al modello School, sarà possibile fornire le funzionalità per l'aggiornamento dell'assegnazione di ufficio di uno specifico docente. Per informazioni sull'esempio del modello School, vedere Quickstart (Entity Framework).

<Function Name="UpdateOfficeAssignment" IsComposable="false">
  <CommandText>
    UPDATE OfficeAssignment
    SET Location = @location
    WHERE InstructorID = @id;
  </CommandText>
  <Parameter Name="location"
             Mode="In"
             Type="nvarchar"/>
  <Parameter Name="id"
             Mode="In"
             Type="int"/>
</Function>

Per rendere disponibile questa funzione su ObjectContext, è necessario creare un'importazione di funzioni corrispondente nel modello concettuale. Per ulteriori informazioni, vedere Procedura: importare una stored procedure (strumenti di Entity Data Model).

Vedere anche

Attività

Procedura: aggiungere una query di definizione (Entity Framework)

Concetti

ADO.NET Entity Data Model Designer

Altre risorse

Modifica manuale di un file con estensione edmx (Entity Framework)
Strumenti di ADO.NET Entity Data Model