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

Visual Studio 2010

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

Элемент управления EntityDataSource упрощает привязку данных, определенных сущностной моделью данных (EDM), к элементам управления в веб-приложении ASP.NET, позволяя использовать преимущества компонентов служб объектов платформы ADO.NET Entity Framework. Это дает элементу управления возможность составлять и выполнять запросы объектов и привязывать элементы управления к возвращенным объектам, которые представляют собой экземпляры типов сущностей, определенных в модели EDM. Дополнительные сведения см. в разделе Общие сведения о службах объектов (Entity Framework).

Для того чтобы иметь возможность подключаться к модели EDM и возвращать правильные типы сущностей, необходимо настроить элемент управления EntityDataSource. После задания значений свойств ConnectionString и DefaultContainerName элемент управления EntityDataSource может создавать объект ObjectContext, который используется им для выполнения запросов объектов. При задании значений свойств EntitySetName и EntityTypeFilter разработчик определяет тип объекта запроса ObjectQuery<T>, составляемого элементом управления EntityDataSource.

Cc488535.alert_note(ru-ru,VS.100).gifПримечание.

Для использования элемента управления EntityDataSource необходимо добавить в приложении ссылку на библиотеку DLL, содержащую модель EDM, файлы сопоставлений и классы , представляющие ObjectContext и типы сущностей.

Свойство ConnectionString элемента управления EntityDataSource может быть инициализировано именованной строкой подключения к модели EDM, хранящейся в элементе connectionStrings файла конфигурации приложения. При создании модели EDM с использованием мастера модели EDM в файле конфигурации приложения создается именованное подключение. Это подключение затем отображается как параметр в мастере Настроить источник данных конструктора элемента управления EntityDataSource. Дополнительные сведения см. в разделе Мастер настройки источника данных (элемент управления EntityDataSource).

В службах объектов типизированный объект ObjectContext, представляет контейнер сущностей концептуальной модели. Класс ObjectContext является основным классом для взаимодействия с данными, определенными в модели EDM. Эти данные имеют вид объектов, являющихся экземплярами типов сущностей. Типизированный объект ObjectContext инкапсулирует подключение к базе данных, описывающие модель метаданные и объект ObjectStateManager, отслеживающий объекты в ходе операций создания, обновления и удаления. Свойство ContextTypeName элемента управления EntityDataSource — это строка, определяющая полное имя типа типизированного объекта ObjectContext, используемого элементом управления EntityDataSource. Если свойство ContextTypeName не задано, для создания объекта ObjectContext необходимо задать значения обоих свойств DefaultContainerName и ConnectionString элемента управления EntityDataSource. Получить доступ к объекту ObjectContext, используемому элементом управления EntityDataSource, можно из свойства ContextType. Дополнительные сведения см. в разделе Управление жизненным циклом контекста объекта (EntityDataSource).

В модели EDM набор сущностей представляет собой логический контейнер для типов сущностей, определенных в концептуальной схеме. Задать набор сущностей типа объектов, к которым имеет доступ элемент управления EntityDataSource, можно посредством свойства EntitySetName. Значением EntitySetName является используемая по умолчанию элементом управления инструкция SELECT. Задание этого свойства не является обязательным, если запрос задан как выражение Entity SQL, переданное свойству CommandText. Дополнительные сведения см. в разделе Пользовательский текст команды (EntityDataSource).

Когда элемент управления EntityDataSource должен возвращать определенный производный тип, необходимо также задать имя этого производного типа в свойстве EntityTypeFilter. Если свойство EntitySetName задает набор сущностей, способный генерировать полиморфные результаты, для того чтобы можно было редактировать данные, необходимо свойство EntityTypeFilter. Задание свойства EntityTypeFilter имеет тот же эффект, что и применение метода OfType<TResultType> к объекту ObjectQuery<T>. Если привязка данных доступна только для чтения EntityTypeFilter, свойство не является обязательным. В этом случае свойства возвращенного запросом объекта будут такими, как у используемого по умолчанию типа сущности для набора сущностей.

Показ: