Modifiche apportate a un file con estensione edmx tramite la procedura guidata Aggiorna modello
La procedura guidata Aggiorna modello consente di aggiornare un file con estensione edmx dopo aver apportato modifiche al database sottostante. Quando si utilizza tale procedura guidata per aggiornare un file con estensione edmx, è importante prendere in considerazione quanto segue:
Quando il file con estensione edmx viene aggiornato in base alle modifiche del database, il modello di archiviazione esistente viene sovrascritto. In altre parole, qualsiasi modifica personalizzata apportata al modello di archiviazione verrà eliminata.
Vengono apportate unicamente modifiche aggiuntive al modello concettuale e ai mapping. In altre parole, quando un nuovo oggetto viene aggiunto al database, le entità e le associazioni corrispondenti vengono aggiunte al modello concettuale; inoltre, viene eseguito il mapping di tali entità e associazioni al modello di archiviazione. Se gli oggetti vengono rimossi dal database, tuttavia, le entità e le associazioni corrispondenti non verranno rimosse dal modello concettuale. Verranno invece rimossi i mapping corrispondenti. Per informazioni su come rimuovere oggetti dal modello di archiviazione senza eseguire la procedura guidata Aggiorna modello, vedere Procedura: eliminare oggetti dal modello di archiviazione (strumenti di Entity Data Model).
Se la casella di controllo Rendi plurali o singolari i nomi degli oggetti generati è abilitata nella scheda Aggiungi della procedura guidata, quest'ultima tenterà di eseguire le azioni seguenti:
Rendere singolari tutti i nomi dei tipi di entità.
Rendere plurali tutti i nomi dei set di entità.
Rendere singolare il nome di ogni proprietà di navigazione che restituisce al massimo un'entità.
Rendere plurale il nome di ogni proprietà di navigazione che restituisce più entità.
La procedura guidata Entity Data Model applica le regole della lingua inglese per i singolari e i plurali creando un oggetto PluralizationService e passandolo a un oggetto EntityModelSchemaGenerator.
Se la casella di controllo Includi colonne di chiavi esterne nel modello è abilitata nella scheda Aggiungi della procedura guidata, questa includerà le proprietà dei tipi di entità appena generati che corrispondono alle colonne di chiavi esterne nel database. Per ulteriori informazioni, vedere Defining and Managing Relationships.
Modifiche apportate a un modello concettuale in seguito all'aggiornamento dal database
Nella tabella seguente vengono forniti i dettagli sul modo in cui la procedura guidata Aggiorna modello consente di modificare il modello concettuale in seguito alla modifica di un oggetto di database.
Oggetto di database | Modifica apportata all'oggetto nel database | Modifiche apportate al modello concettuale in seguito all'aggiornamento dal database |
---|---|---|
Tabella/Visualizzazione |
Aggiunta |
Il nuovo tipo di entità e le associazioni e i mapping corrispondenti vengono aggiunti al modello concettuale. |
Eliminazione |
La tabella o la visualizzazione viene rimossa dal modello di archiviazione. Vengono eliminati tutti i mapping alla tabella. Se la tabella o la visualizzazione contiene una o più colonne in cui sono state archiviate le chiavi per una relazione di chiave esterna, vengono eliminati i mapping per le associazioni corrispondenti. |
|
Ridenominazione |
La ridenominazione di una tabella o di una visualizzazione produce sul modello concettuale e sui mapping lo stesso effetto ottenuto eliminando la tabella/visualizzazione con il nome precedente e aggiungendo una tabella/visualizzazione con il nuovo nome. |
|
Modifica della chiave primaria |
Se vengono aggiunte colonne alla chiave primaria della tabella o della visualizzazione, nel modello concettuale verranno aggiunte associazioni per ogni chiave esterna facente riferimento alla nuova chiave primaria. Le nuove associazioni corrispondenti verranno aggiunte al modello concettuale. Le associazioni preesistenti basate sulla chiave primaria precedente, oppure una o entrambe le entità finali di queste associazioni, non saranno più oggetto di mapping.
Nota:
Le associazioni non mappate saranno ancora visualizzate nell'area della finestra di progettazione e provocheranno errori di convalida.Per correggere gli errori di convalida, eliminare le associazioni non mappate o eseguirne nuovamente il mapping.
Se una colonna viene rimossa da una chiave primaria, sarà necessario rimuovere la designazione della chiave della proprietà dell'entità corrispondente. Se una colonna presente come proprietà dell'entità viene aggiunta alla chiave primaria, la proprietà in questione deve essere convertita in chiave di entità. Per informazioni sulla modifica delle proprietà, vedere Procedura: creare e modificare proprietà scalari (strumenti di Entity Data Model). Se una colonna esistente viene aggiunta alla chiave primaria e in precedenza era mappata a un'associazione anziché a una proprietà dell'entità, verrà creata una nuova proprietà dell'entità corrispondente. |
|
Colonna |
Aggiunta |
Le entità corrispondenti vengono aggiornate con le proprietà e i mapping corrispondenti. Se i tipi corrispondenti fanno parte di una gerarchia di ereditarietà, solo il tipo di entità più vicino alla radice della gerarchia e mappato alla tabella interessata viene aggiornato con le proprietà corrispondenti. In questo modo si evita che le entità figlio nella gerarchia definiscano le stesse proprietà dei relativi predecessori. |
Eliminazione |
Vengono eliminati i mapping alla colonna. |
|
Ridenominazione |
La ridenominazione di una colonna produce sul modello concettuale lo stesso effetto ottenuto eliminando la colonna con il nome precedente e aggiungendo una colonna con il nuovo nome. Se si rinomina una colonna facente parte di un vincolo della chiave esterna, una nuova associazione e i mapping obbligatori vengono aggiunti al modello concettuale, a condizione che tutti i tipi di entità necessari siano presenti. |
|
Modifica della definizione |
Non vengono apportate modifiche al modello concettuale o ai mapping. Potrebbe essere necessario aggiornare il modello manualmente se, in seguito alla modifica del tipo di colonna, il tipo di proprietà dell'entità corrispondente diventa incompatibile. Per ulteriori informazioni sulla modalità di modifica delle proprietà, vedere Procedura: creare e modificare proprietà scalari (strumenti di Entity Data Model). |
|
Chiave esterna |
Aggiunta |
Al modello concettuale vengono aggiunti una nuova associazione e i mapping necessari se sono presenti tutti i tipi di entità richiesti. |
Eliminazione |
Non vengono apportate modifiche al modello concettuale o ai mapping. |
|
Ridenominazione |
Non vengono apportate modifiche al modello concettuale o ai mapping. |
|
Stored procedure |
Aggiunta |
Non vengono apportate modifiche al modello concettuale o ai mapping. La stored procedure può essere aggiunta manualmente al modello concettuale come importazione di funzioni. Per ulteriori informazioni, vedere Procedura: importare una stored procedure (strumenti di Entity Data Model). |
Eliminazione |
Vengono eliminati i mapping alla stored procedure. Se un'importazione di funzioni è stata mappata alla stored procedure, l'importazione di funzioni deve essere eliminata o mappata a una stored procedure diversa. Se il comportamento di inserimento, aggiornamento o eliminazione di un tipo di entità è stato mappato alla stored procedure, i mapping verranno eliminati. |
|
Ridenominazione |
Vengono eliminati i mapping alla stored procedure per qualsiasi importazione di funzioni o comportamento di inserimento, aggiornamento o eliminazione di un tipo di entità. Questa operazione produce sul modello concettuale lo stesso effetto ottenuto eliminando la stored procedure con il nome precedente e aggiungendo la stored procedure con il nuovo nome. È necessario creare una nuova importazione di funzioni per la stored procedure rinominata oppure eseguire nuovamente il mapping dell'importazione di funzioni originale alla stored procedure rinominata. |
|
Modifica della definizione |
Se vengono aggiunti o rimossi parametri dalla stored procedure, tutti i mapping alla stored procedure non saranno più validi. Se un'importazione di funzioni è stata mappata alla stored procedure, l'importazione di funzioni deve essere eliminata e ricreata. Se il comportamento di inserimento, aggiornamento o eliminazione di un tipo di entità è stato mappato alla stored procedure, potrebbe essere necessario eseguirne nuovamente il mapping. |
Vedere anche
Attività
Altre risorse
Procedura guidata Aggiorna modello (strumenti di Entity Data Model)
Attività degli strumenti di Entity Data Model