Condividi tramite


Aggiornamento dei dati (EntityDataSource)

Aggiornamento: novembre 2007

È possibile utilizzare il controllo EntityDataSource per inviare gli aggiornamenti all'origine dati dai controlli server Web con associazione a dati quali i controlli GridView, DetailsViewo FormView. Il controllo EntityDataSource utilizza un'istanza della classe ObjectContext per inviare i valori aggiornati al database.

Considerazioni relative all'aggiornameno dei dati

Le considerazioni seguenti riguardano l'utilizzo del controllo EntityDataSource per inviare aggiornamenti, inserimenti ed eliminazioni all'origine dati:

  • Per aggiornare i dati, almeno uno di EnableInserts(), EnableUpdates()o proprietà EnableDeletes() deve essere impostato su true.

  • Quando si aggiorna l'origine dati tramite il controllo EntityDataSource, è possibile inviare aggiornamenti solo per un oggetto alla volta.

  • Quando gli aggiornamenti sono attivati, non è possibile utilizzare le proprietà CommandText, Selecte GroupBy del controllo EntityDataSource.

  • È possibile inviare aggiornamenti all'origine dati all'esterno di un controllo con associazione a dati aggiungendo, modificando ed eliminando gli oggetti in un ObjectContext. Per ulteriori informazioni, vedere Procedura: aggiungere, modificare ed eliminare oggetti (Entity Framework). Dopo avere chiamato il metodo SaveChanges per eseguire il commit delle modifiche in ObjectContext con l'origine dati, chiamare il metodo DataBind sul controllo con associazione a dati per aggiornare il controllo con i dati più recenti dell'origine dati.

Archiviazione dei dati Object nello stato di visualizzazione.

Per rilevare le modifiche quando sono abilitate le operazioni di aggiornamento, il controllo EntityDataSource deve archiviare le informazioni sui valori originali delle proprietà degli oggetti caricati nello stato di visualizzazione per la pagina. Mantenendo i valori originali delle proprietà degli oggetti nelle richieste HTTP, Object Services gestisce la concorrenza confrontando i valori originali e i valori correnti. Per ulteriori informazioni sulla gestione della concorrenza da parte di Object Services, vedere Rilevamento delle modifiche e risoluzione di identità (Entity Framework).

L'archiviazione di queste informazioni necessarie nello stato di visualizzazione comporta un incremento delle dimensioni di pagina. È possibile disattivare l'archiviazione dei valori nello stato di visualizzazione impostando la proprietà StoreOriginalValuesInViewState su false. Se si compie questa operazione, Object Services non potrà registrare la concorrenza negli oggetti aggiornati e sarà necessario implementare i controlli di concorrenza. Questi controlli devono assicurare che gli aggiornamenti eseguiti nel controllo con associazione a dati non entrino in conflitto con le modifiche apportate nell'origine dati. Per ulteriori informazioni, vedere Salvataggio delle modifiche e gestione della concorrenza (Entity Framework).

Vedere anche

Concetti

Configurazione del controllo EntityDataSource

Finestra di progettazione EntityDataSource

Gestione del ciclo di vita del contesto degli oggetti (EntityDataSource)

Altre risorse

Utilizzo di oggetti (Entity Framework)