扩展实体数据模型工具
可以使用 Microsoft.Data.Entity.Design.Extensibility 命名空间中的类来编写 Visual Studio 扩展,从而扩展 ADO.NET 实体数据模型工具的功能。 Microsoft.Data.Entity.Design.Extensibility 命名空间中的类允许您执行以下操作:
注意: |
---|
有关以下扩展的代码示例,请参见 ADO.NET 实体数据模型设计器扩展初学者工具包(可能为英文网页)。 |
扩展 .edmx 文件生成过程。
IModelGenerationExtension 接口公开 OnAfterModelGenerated 方法,使用该方法可以扩展实体数据模型向导的功能。
扩展 .edmx 文件更新过程。
IModelGenerationExtension 接口公开 OnAfterModelUpdated 方法,使用该方法可以扩展模型更新向导的功能。
-
IEntityDesignerExtendedProperty 接口公开 CreateProperty 方法,使用该方法可以向实体数据模型设计器(实体设计器)和模型浏览器中可见的对象添加自定义属性,并使这些属性在 Visual Studio**“属性”**窗口中可见。
加载和保存自定义文件格式。
IModelConversionExtension 接口公开 OnAfterFileLoaded 和 OnBeforeFileSaved 方法,使用这些方法可以加载自定义文件格式、将这些文件转换为 .edmx 格式以及以自定义格式保存 .edmx 文件。
扩展 .edmx 文件的加载和保存过程。
IModelTransformExtension 接口公开 OnAfterModelLoaded 和 OnBeforeModelSaved 方法,使用这些方法可以自定义实体设计器加载和保存 .edmx 文件的方式。
上述功能可组合在一个 Visual Studio 扩展中。 例如,可以使用 OnAfterFileLoaded 方法加载 .uml 文件,该方法将文件转换为 .edmx 格式,然后使用 OnAfterModelLoaded 方法修改该 .edmx 文件,之后再将该文件显示在实体设计器中。 相反,可以使用 OnBeforeModelSaved 方法修改已加载的 .edmx 文件,然后使用 OnBeforeFileSaved 方法将该文件转换为 .uml 文件,之后再保存该文件。
还要注意,可以在同一 Visual Studio 扩展中实现扩展插件接口的多个实现。 例如,IModelTransformExtension 接口的多个实现反过来可以对 .edmx 文件进行修改,然后再将该文件显示在实体设计器中或保存该文件。
有关编写 Visual Studio 扩展的信息,请参见开发 Visual Studio 扩展(可能为英文网页)和托管扩展性框架 (MEF)(可能为英文网页)。
有关自定义实体数据模型工具的其他功能的信息,请参见如何:自定义对象层代码生成和如何:自定义数据库生成。