Freigeben über


Aktualisieren von Daten (EntityDataSource)

Aktualisiert: November 2007

Mit dem EntityDataSource-Steuerelement können Sie Aktualisierungen der Datenquelle aus den datengebundenen Webserversteuerelementen übergeben, z. B. aus den Steuerelementen GridView, DetailsView oder FormView. Das EntityDataSource-Steuerelement verwendet eine Instanz der ObjectContext-Klasse, um die aktualisierten Werte an die Datenbank zu übergeben.

Überlegungen zum Aktualisieren von Daten

Die folgenden Überlegungen sind zu berücksichtigen, wenn Sie mit dem EntityDataSource-Steuerelement Aktualisierungs-, Einfüge- und Löschvorgänge an die Datenquelle übergeben:

  • Um die Daten zu aktualisieren, muss mindestens eine der Eigenschaften EnableInserts(), EnableUpdates() oder EnableDeletes() auf true festgelegt sein.

  • Wenn Sie die Datenquelle mit dem EntityDataSource-Steuerelement aktualisieren, können Sie Aktualisierungen für nur jeweils ein Objekt gleichzeitig übergeben.

  • Wenn Aktualisierungen aktiviert sind, können Sie die Eigenschaften CommandText, Select und GroupBy des EntityDataSource-Steuerelements nicht verwenden.

  • Sie können Aktualisierungen der Datenquelle von einem externen datengebundenen Steuerelement übergeben, indem Sie in ObjectContext Objekte hinzufügen, ändern und löschen. Weitere Informationen hierzu finden Sie unter Gewusst wie: Hinzufügen, Ändern und Löschen von Objekten (Entity Framework). Nachdem Sie die SaveChanges-Methode aufgerufen haben, um die Änderungen in ObjectContext an die Datenquelle zu übergeben, müssen Sie die DataBind-Methode für das datengebundene Steuerelement aufrufen, um das Steuerelement mit den aktuellen Daten aus der Datenquelle zu aktualisieren.

Speichern von Objektdaten im Ansichtszustand

Um Änderungen zu verfolgen, wenn Aktualisierungsoperationen aktiviert sind, muss das EntityDataSource-Steuerelement Informationen zu den ursprünglichen Werten der Eigenschaften von geladenen Objekten im Ansichtszustand der Seite speichern. Durch die Beibehaltung der ursprünglichen Werte von Objekteigenschaften über HTTP-Anforderungen hinweg verwalten Objektdienste die Parallelität, indem die ursprünglichen Werte mit den aktuellen Werten verglichen werden. Weitere Informationen zur Verwaltung der Parallelität durch Objektdienste finden Sie unter Änderungsnachverfolgung und Identitätsauflösung (Entity Framework).

Durch die Speicherung dieser erforderlichen Informationen im Ansichtszustand erhöht sich die Seitengröße. Sie können das Speichern von Werten im Ansichtszustand deaktivieren, indem Sie die StoreOriginalValuesInViewState-Eigenschaft auf false festlegen. In diesem Fall können Objektdienste die Parallelität in aktualisierten Objekten nicht mehr verfolgen, sodass Sie eigene Parallelitätsprüfungen implementieren müssen. Diese Prüfungen müssen sicherstellen, dass die im datengebundenen Steuerelement vorgenommenen Aktualisierungen keinen Konflikt mit Änderungen in der Datenquelle auslösen. Weitere Informationen hierzu finden Sie unter Speichern von Änderungen und Verwalten von Parallelität (Entity Framework).

Siehe auch

Konzepte

Konfigurieren des EntityDataSource-Steuerelements

EntityDataSource-Designer

Lebenszyklusverwaltung für Objektkontexte (EntityDataSource)

Weitere Ressourcen

Arbeiten mit Objekten (Entity Framework)