Расширение средств модели EDM
Функциональность средств для работы с моделями ADO.NET EDM с помощью классов в пространстве имен Microsoft.Data.Entity.Design.Extensibility может быть расширена для записи расширений Visual Studio. Классы в пространстве имен Microsoft.Data.Entity.Design.Extensibility позволяют выполнять перечисленные ниже действия.
Примечание |
---|
Примеры исходного кода следующих расширений можно найти в начальном наборе расширений конструктора моделей 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 см. в разделах Как настроить создание кода уровня объекта и Как настроить создание базы данных.