Procedura: eseguire il mapping delle funzioni di modifica a stored procedure
In questo argomento viene illustrato come utilizzare ADO.NET Entity Data Model Designer (Entity Designer) per eseguire il mapping delle operazioni di inserimento, aggiornamento ed eliminazione di un tipo di entità alle stored procedure.
Entity Framework genera una classe derivata da ObjectContext che rappresenta il contenitore di entità nel modello concettuale. Il nome della classe derivata corrisponde al nome di EntityContainer nel file del modello concettuale. Questa classe espone un metodo SaveChanges che attiva gli aggiornamenti al database sottostante. Per questi aggiornamenti è possibile utilizzare le istruzioni SQL generate automaticamente dal sistema (impostazione predefinita) o le stored procedure specificate dallo sviluppatore. Il codice dell'applicazione utilizzato per creare, aggiornare ed eliminare le entità è identico indipendentemente dall'uso o meno delle stored procedure per aggiornare il database.
Quando si esegue il mapping delle operazioni di inserimento, aggiornamento ed eliminazione di un tipo di entità alle stored procedure, è necessario effettuare le operazioni seguenti.
Eseguire il mapping di tutte e tre le operazioni alle stored procedure.
Eseguire il mapping coerente delle associazioni. Se una stored procedure esegue il mapping a un'associazione per una sola operazione, è necessario che lo esegua anche per le altre due operazioni.
Eseguire il mapping delle entità correlate che presentano relazioni uno-a-uno con le stored procedure. Se l'entità è correlata ad altre entità mediante una relazione uno-a-molti o molti-a-molti, non è necessario eseguire il mapping delle entità correlate alle stored procedure.
Esecuzione del mapping dell'operazione di inserimento a una stored procedure
Per eseguire il mapping dell'operazione di inserimento a una stored procedure
Fare doppio clic sul file <nome modello>.edmx in Esplora soluzioni.
Il file verrà aperto in Entity Designer.
Fare clic con il pulsante destro del mouse sul tipo di entità per il quale si desidera eseguire il mapping dell'operazione di inserimento.
Selezionare Mapping stored procedure.
Verrà visualizzato il riquadro Esegui mapping tra Entity e Functions della finestra Dettagli Mapping.
Fare clic su <Seleziona Insert Function>.
Nell'elenco a discesa selezionare la stored procedure con la quale verrà eseguito il mapping dell'operazione di inserimento.
Nella finestra verranno automaticamente visualizzati i mapping predefiniti tra i parametri delle stored procedure e le proprietà dell'entità.
Per ogni parametro della stored procedure, modificare il mapping in base alle esigenze facendo clic sul campo della proprietà corrispondente e scegliendo la proprietà desiderata nell'elenco a discesa.
Nota
Tutte le chiavi di entità devono presentare mapping. Se la stored procedure utilizza un'istruzione INSERT, la chiave dell'entità viene in genere mappata alla chiave primaria creata quando è stata inserita la nuova riga. Nei passaggi successivi viene illustrato come eseguire il mapping dei dati restituiti dalla stored procedure alle proprietà dell'entità.
Fare clic su <Aggiungi Result Binding>.
Il campo diventa modificabile.
Digitare il nome del parametro che contiene i dati restituiti dalla stored procedure.
Fare clic sul campo della proprietà che corrisponde al nome del parametro.
Il campo diventerà un elenco a discesa di proprietà.
Selezionare la proprietà con la quale eseguire il mapping dei dati restituiti.
Ripetere i passaggi da 7 a 10 per ogni valore restituito e proprietà non mappata.
A questo punto, l'operazione di inserimento per il tipo di entità selezionato risulta mappata a una stored procedure.
Esecuzione del mapping dell'operazione di aggiornamento a una stored procedure
Per eseguire il mapping dell'operazione di aggiornamento a una stored procedure
Fare doppio clic sul file <nome modello>.edmx in Esplora soluzioni.
Il file verrà aperto in Entity Designer.
Fare clic con il pulsante destro del mouse sul tipo di entità per il quale si desidera eseguire il mapping dell'operazione di aggiornamento.
Selezionare Mapping stored procedure.
Verrà visualizzato il riquadro Esegui mapping tra Entity e Functions della finestra Dettagli Mapping.
Fare clic su <Seleziona Update Function>.
Nell'elenco a discesa selezionare la stored procedure con la quale verrà eseguito il mapping dell'operazione di aggiornamento.
Nella finestra verranno automaticamente visualizzati i mapping predefiniti tra i parametri delle stored procedure e le proprietà dell'entità.
Per ogni parametro della stored procedure, modificare il mapping in base alle esigenze facendo clic sul campo della proprietà corrispondente e scegliendo la proprietà desiderata nell'elenco a discesa.
Per ogni proprietà, è possibile selezionare facoltativamente la casella della colonna Utilizza Original Value.
L'opzione Utilizza Original Value consente di utilizzare il controllo della concorrenza. Se si seleziona tale opzione**** per una proprietà, il valore della proprietà letto dal database verrà passato al parametro della stored procedure specificato. Si noti che è possibile passare sia i valori originali sia quelli correnti di una proprietà a parametri diversi.
Nota
Il mapping dell'operazione di aggiornamento consente di eseguire il mapping dei dati restituiti dalla stored procedure alle proprietà dell'entità. Nei passaggi successivi viene illustrato come eseguire il mapping dei dati restituiti dalla stored procedure alle proprietà dell'entità.
Fare clic su <Aggiungi Result Binding>.
Il campo diventa modificabile.
Digitare il nome del parametro che contiene i dati restituiti dalla stored procedure.
Fare clic sul campo della proprietà che corrisponde al nome del parametro.
Nell'elenco a discesa selezionare la proprietà con la quale eseguire il mapping dei dati restituiti.
Facoltativamente, ripetere i passaggi da 8 a 11 per ogni valore restituito.
A questo punto, l'operazione di aggiornamento per il tipo di entità selezionato risulta mappata a una stored procedure.
Esecuzione del mapping dell'operazione di eliminazione a una stored procedure
Per eseguire il mapping dell'operazione di eliminazione a una stored procedure
Fare doppio clic sul file <nome modello>.edmx in Esplora soluzioni.
Il file verrà aperto in Entity Designer.
Fare clic con il pulsante destro del mouse sul tipo di entità per il quale si desidera eseguire il mapping dell'operazione di eliminazione.
Selezionare Mapping stored procedure.
Verrà visualizzato il riquadro Esegui mapping tra Entity e Functions della finestra Dettagli Mapping.
Fare clic su <Seleziona Delete Function>.
Nell'elenco a discesa selezionare la stored procedure con la quale verrà eseguito il mapping dell'operazione di eliminazione.
Nella finestra verranno automaticamente visualizzati i mapping predefiniti tra i parametri delle stored procedure e le proprietà dell'entità.
Per ogni parametro della stored procedure, modificare il mapping in base alle esigenze facendo clic sul campo della proprietà corrispondente e scegliendo la proprietà desiderata nell'elenco a discesa.
Nota
È necessario eseguire il mapping delle associazioni ai parametri delle stored procedure. Le associazioni sono disponibili per la selezione nell'elenco a discesa delle proprietà.
Vedere anche
Attività
Procedura dettagliata: mapping di un'entità alle stored procedure
Altre risorse
Supporto delle stored procedure (Entity Framework)
Codice dell'applicazione per le stored procedure mappate (Entity Framework)