SchemaCompareScriptService 类

提供方法来分析,并显示在目标数据库对象脚本对象定义窗口和更新脚本工具窗口的Visual Studio 高级专业版和Visual Studio 旗舰版。此外,这项服务可以修改的目标数据库,以匹配源数据库的架构,通过创建和执行结构DeploymentPlan

继承层次结构

System.Object
  Microsoft.Data.Schema.Tools.Compare.Schema.SchemaCompareScriptService

命名空间:  Microsoft.Data.Schema.Tools.Compare.Schema
程序集:  Microsoft.Data.Schema.Tools(在 Microsoft.Data.Schema.Tools.dll 中)

语法

声明
<DatabaseSchemaProviderCompatibilityAttribute(GetType(DatabaseSchemaProvider))> _
Public Class SchemaCompareScriptService _
    Implements IExtensionInformation, IExtension
[DatabaseSchemaProviderCompatibilityAttribute(typeof(DatabaseSchemaProvider))]
public class SchemaCompareScriptService : IExtensionInformation, 
    IExtension
[DatabaseSchemaProviderCompatibilityAttribute(typeof(DatabaseSchemaProvider))]
public ref class SchemaCompareScriptService : IExtensionInformation, 
    IExtension
[<DatabaseSchemaProviderCompatibilityAttribute(typeof(DatabaseSchemaProvider))>]
type SchemaCompareScriptService =  
    class
        interface IExtensionInformation
        interface IExtension
    end
public class SchemaCompareScriptService implements IExtensionInformation, IExtension

SchemaCompareScriptService 类型公开以下成员。

构造函数

  名称 说明
公共方法 SchemaCompareScriptService 初始化 SchemaCompareScriptService 类的新实例。

页首

属性

  名称 说明
受保护的属性 Canceled 获取或设置一个值,指示是否已取消脚本服务进程。
受保护的属性 DatabaseSchemaProvider 获取当前的数据库架构提供程序。
公共属性 ExtensionHandle 获取脚本服务的扩展句柄。
公共属性 ModelComparer 返回当前的模型比较器。
公共属性 ScriptDomGenerator 当在派生类中重写时,获取当前数据库架构提供程序的脚本文档模型生成器。
公共属性 ScriptGenerator 当在派生类中重写时,获取当前数据库架构提供程序的脚本生成器。
公共属性 UpdateScriptFileExtension
公共属性 UpdateScriptFileFilterDescription

页首

方法

  名称 说明
公共方法 Cancel Canceled 属性设置为 true,这会在任何运行的进程被取消时通知这些进程。
受保护的方法 CreateDeploymentController 返回一个 ISchemaDeploymentController 对象。
公共方法 CreateExcludedElement 在 Visual Studio 高级专业版和 Visual Studio 旗舰版的“架构比较”窗口中返回用户从计划中排除的元素。
受保护的方法 CreateSchemaDeployment 在派生的类中重写时,返回 SchemaDeployment 对象。
公共方法 Equals 确定指定的 Object 是否等于当前的 Object。 (继承自 Object。)
受保护的方法 Finalize 允许对象在“垃圾回收”回收之前尝试释放资源并执行其他清理操作。 (继承自 Object。)
公共方法 GenerateObjectDefinition 返回要在 Visual Studio 高级专业版和 Visual Studio 旗舰版的“对象定义”窗口中显示的脚本片段对象,这段脚本将在数据库中创建或删除给定元素。
公共方法 GenerateObjectScript 使用所提供的脚本片段对象返回脚本。
公共方法 GenerateUpdatePlan DatabaseSchemaProvider 调用时生成完整的更新脚本。
公共方法 GetContainingElement 返回包含所提供元素的脚本的元素。
公共方法 GetDependencyInformation
公共方法 GetHashCode 用作特定类型的哈希函数。 (继承自 Object。)
公共方法 GetSchemaModelFromConnectionBasedProvider
公共方法 GetSchemaModelFromFileBasedProvider 返回供 Visual Studio 高级专业版和 Visual Studio 旗舰版的“架构比较”窗口使用的基于文件的模型提供程序。
公共方法 GetType 获取当前实例的 Type。 (继承自 Object。)
公共方法 GetUpdateTargetConfirmationMessage 返回 Visual Studio 高级专业版和 Visual Studio 旗舰版的“架构比较”窗口的目标确认消息。
公共方法 Initialize “对象定义”窗口调用,以初始化 SchemaCompareScriptService 对象的设置。
受保护的方法 MemberwiseClone 创建当前 Object 的浅表副本。 (继承自 Object。)
公共方法 OnAfterCompare
受保护的方法 OnAfterGeneratePlan GenerateUpdatePlan 方法调用,用于在生成计划后通过 DatabaseSchemaProvider 访问部署计划和部署控制器。
受保护的方法 OnAfterUpdateTargetDatabase UpdateTargetDatabase 方法调用,用于在更新目标数据库后通过 DatabaseSchemaProvider 访问参数值。
公共方法 OnBeforeCompare
受保护的方法 OnBeforeGeneratePlan GenerateUpdatePlan 方法调用,以便在生成更新计划前通过 DatabaseSchemaProvider 访问部署控制器。
受保护的方法 OnBeforeUpdateTargetDatabase UpdateTargetDatabase 方法调用,以便在更新目标数据库前通过 DatabaseSchemaProvider 访问参数值。
受保护的方法 OnFinishGeneratePlan GenerateUpdatePlan 方法调用,以便在生成更新计划及收集错误后通过 DatabaseSchemaProvider 访问部署控制器。
受保护的方法 OnStartGeneratePlan GenerateUpdatePlan 方法调用,以便在生成更新计划前通过 DatabaseSchemaProvider 访问最初提供的参数值。
受保护的方法 RaiseSyncCanceledEvent 默认情况下,从 UpdateTargetDatabase 方法中调用。
受保护的方法 RaiseSyncCompletedEvent 引发 SyncCompletedEvent
受保护的方法 RaiseSyncProgressStatusEvent 使用所提供的消息和数字引发 SyncCompletedEvent
公共方法 ResetCancel 将内部取消标志重置为 false。
公共方法 SetExtensionHandle 将扩展句柄设置为指定的值。
公共方法 ToString 返回表示当前对象的字符串。 (继承自 Object。)
公共方法 UpdateTargetDatabase 由 Visual Studio 高级专业版和 Visual Studio 旗舰版的“更新脚本工具”窗口调用,以使用所提供的部署计划和其他参数值更新目标数据库。
公共方法 UpdateTargetProject 在派生类中重写时,通过使用其他参数值更新给定目标项目。
公共方法 UseMultiThreadingForModelPopulation

页首

事件

  名称 说明
公共事件 SyncCanceledEvent 当调用 Cancel 方法或 RaiseSyncCanceledEvent 方法时发生。
公共事件 SyncCompletedEvent 当调用 RaiseSyncCompletedEvent 方法时发生。
公共事件 SyncProgressStatusEvent 当调用 RaiseSyncProgressStatusEvent 方法时发生。

页首

备注

此类是**“架构比较”**窗口(在 Visual Studio 高级专业版 和 Visual Studio 旗舰版)中预定义的扩展点。 其他预定义的扩展点是 SchemaCompareSettingsService 类。

为支持自定义 DatabaseSchemaProvider,您很可能需要该 SchemaCompareScriptService 类的相匹配的自定义版本。 在重写 UpdateTargetDatabase 方法和 UpdateTargetProject 方法时特别需要如此(如果必须更新项目以及数据库)。

对继承者的说明

您必须对此类的派生版本扩展以支持特定 DatabaseSchemaProvider 的其他类:

您还需要实现 ISchemaDeploymentController 接口。

对于您的特定实现,您可能还需要扩展其他类以及实现其他接口。

线程安全

此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

请参见

参考

Microsoft.Data.Schema.Tools.Compare.Schema 命名空间

DeploymentPlan

IExtensionInformation

IExtension

ISchemaCompareDependencyInfo

DatabaseSchemaProvider

UpdateTargetDatabase

UpdateTargetProject

其他资源

扩展 Visual Studio 的数据库功能