Поделиться через


Обновление данных (EntityDataSource)

Обновлен: Ноябрь 2007

Элемент управления EntityDataSource можно использовать для отправки в источник данных обновлений из серверных веб-элементов управления с привязкой к данным, таких как элементы управления GridView, DetailsView или FormView. Для отправки в базу данных обновленных значений элемент управления EntityDataSource использует экземпляр класса ObjectContext.

Замечания по обновлению данных

При использовании элемента управления EntityDataSource для отправки обновлений, вставок и удалений в источник данных необходимо принимать во внимания следующие замечания.

  • Для обновления данных хотя бы одно из свойств EnableInserts(), EnableUpdates() и EnableDeletes() должно иметь значение true.

  • При обновлении источника данных с помощью элемента управления EntityDataSource можно одновременно отправлять обновления только для одного объекта.

  • При включенных обновлениях нельзя использовать свойства CommandText, Select и GroupBy элемента управления EntityDataSource.

  • Можно отправлять обновления в источник данных из-за пределов элемента управления с привязкой к данным — путем добавления, изменения и удаления объектов в классе ObjectContext. Дополнительные сведения см. в разделе Практическое руководство. Добавление, изменение и удаление объектов (Entity Framework). После вызова метода SaveChanges для фиксации изменений в ObjectContext в источнике данных необходимо вызвать метод DataBind элемента управления с привязкой к данным, чтобы обновить элемент управления последними данными из источника.

Сохранение данных объекта в состоянии просмотра

Для отслеживания изменений при включенных обновлениях элемент управления EntityDataSource должен хранить информацию об исходных значениях свойств загруженных объектов в состоянии просмотра для страницы. Сохранение исходных значений свойств объектов для различных HTTP-запросов позволяет службам объектов управлять параллелизмом путем сравнения исходных значений и текущих значений. Дополнительные сведения об управлении параллелизмом службами объектов см. в разделе Отслеживание изменений и разрешение удостоверений (Entity Framework).

Хранение этой необходимой информации в состоянии просмотра приводит к увеличению размера страницы. Задав свойству StoreOriginalValuesInViewState значение false, можно запретить хранение значений в состоянии просмотра. Если это сделать, службы объектов не смогут отслеживать параллелизм в обновляемых объектах, поэтому необходимо будет реализовать собственные проверки параллелизма. Эти проверки должны обеспечивать, что обновления, произведенные в элементе управления с привязкой к данным, не конфликтуют с изменениям, произведенными в источнике данных. Дополнительные сведения см. в разделе Сохранение изменений и управление параллелизмом (Entity Framework).

См. также

Основные понятия

Настройка элемента управления EntityDataSource

Конструктор EntityDataSource

Управление жизненным циклом контекста объекта (EntityDataSource)

Другие ресурсы

Работа с объектами (Entity Framework)