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


Расширение средств модели EDM

Функциональность средств для работы с моделями ADO.NET EDM с помощью классов в пространстве имен Microsoft.Data.Entity.Design.Extensibility может быть расширена для записи расширений Visual Studio. Классы в пространстве имен Microsoft.Data.Entity.Design.Extensibility позволяют выполнять перечисленные ниже действия.

Ee373852.note(ru-ru,VS.100).gifПримечание
Примеры исходного кода следующих расширений можно найти в начальном наборе расширений конструктора моделей EDM ADO.NET.

  • Расширение процесса создания EDMX-файла.

    Интерфейс IModelGenerationExtension предоставляет доступ к методу OnAfterModelGenerated, который позволяет расширить функциональность мастера моделей EDM.

  • Расширение процесса обновления EDMX-файла.

    Интерфейс IModelGenerationExtension предоставляет доступ к методу OnAfterModelUpdated, который позволяет расширить функциональность мастера обновления моделей.

  • Добавление пользовательских свойств объектам в конструкторе сущностей и в обозревателе моделей.

    Интерфейс IEntityDesignerExtendedProperty предоставляет доступ к методу CreateProperty, который позволяет добавлять пользовательские свойства к объектам, доступным через конструктор моделей EDM (конструктор сущностей) и обозреватель моделей, а также показать эти свойства в окне Visual Studio Свойства.

  • Загрузка и сохранение файлов в пользовательских форматах.

    Интерфейс IModelConversionExtension предоставляет доступ к методам OnAfterFileLoaded и OnBeforeFileSaved, которые позволяют загружать пользовательские форматы файлов, преобразовывать эти файлы в формат EDMX и сохранять EDMX-файлы в пользовательских форматах.

  • Расширение процессов загрузки и сохранения EDMX-файлов.

    Интерфейс IModelTransformExtension обеспечивает доступ к методам OnAfterModelLoaded и OnBeforeModelSaved, которые позволяют изменить способы загрузки и сохранения EDMX-файлов конструктором сущностей.

Описанные выше функции могут быть объединены в одном расширении Visual Studio. Например, можно загрузить UML-файл с помощью метода OnAfterFileLoaded, который преобразует файл в формат EDMX), а затем изменить EDMX-файл с помощью метода OnAfterModelLoaded еще до его отображения в конструкторе сущностей. Возможен и другой способ: изменить загруженный EDMX-файл с помощью метода OnBeforeModelSaved а затем преобразовать его в UML-файл с помощью метода OnBeforeFileSaved перед сохранением.

Обратите внимание, что в одном расширении Visual Studio может быть реализовано несколько интерфейсов расширения. Например, различные реализации интерфейса IModelTransformExtension позволят, в свою очередь, вносить изменения в EDMX-файл до его сохранения или отображения в конструкторе сущностей.

Дополнительные сведения о создании расширений Visual Studio см. в разделах Разработка расширений Visual Studio и Платформа управляемой расширяемости (Managed Extensibility Framework, MEF).

Сведения о настройке другой функциональности средств работы с моделью EDM см. в разделах Как настроить создание кода уровня объекта и Как настроить создание базы данных.

В этом разделе

См. также

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

Средства модели ADO.NET EDM