更新 DacPackage 中的模型,以便将当前模型替换为新模型。 在更新之前将验证该模型,如果遇到错误,将引发 DacServicesException。 如果调用方希望在出现警告和错误时进行阻止,他们必须通过调用 Validate() 并检查返回的消息中是否包括错误或警告来验证该模型。 注意:仅替换模型 - 所有其他项目(例如重构日志、部署前脚本、部署后脚本和参与者项目)不会发生更改。 如果其中任何项目依赖不再位于更新模型中的元素,则部署可能失败。 调用方负责确保这些项目与新模型一致。 Package API 可用于更新其他项目(例如重构日志和脚本)并使其与更新模型保持一致。 这些项目存储为包部分并由其 URI 标识。 可使用 GetParts() 检查包部分。 请参阅 Package API 以获取有关更新包部分的更多信息。
命名空间: Microsoft.SqlServer.Dac
程序集: Microsoft.SqlServer.Dac.Extensions(在 Microsoft.SqlServer.Dac.Extensions.dll 中)
语法
声明
<ExtensionAttribute> _
Public Shared Sub UpdateModel ( _
dacPackage As DacPackage, _
newModel As TSqlModel, _
packageMetadata As PackageMetadata _
)
用法
Dim dacPackage As DacPackage
Dim newModel As TSqlModel
Dim packageMetadata As PackageMetadata
dacPackage.UpdateModel(newModel, _
packageMetadata)
public static void UpdateModel(
this DacPackage dacPackage,
TSqlModel newModel,
PackageMetadata packageMetadata
)
[ExtensionAttribute]
public:
static void UpdateModel(
DacPackage^ dacPackage,
TSqlModel^ newModel,
PackageMetadata^ packageMetadata
)
static member UpdateModel :
dacPackage:DacPackage *
newModel:TSqlModel *
packageMetadata:PackageMetadata -> unit
public static function UpdateModel(
dacPackage : DacPackage,
newModel : TSqlModel,
packageMetadata : PackageMetadata
)
参数
- dacPackage
类型:Microsoft.SqlServer.Dac.DacPackage
要更新的 DacPackage
- newModel
类型:Microsoft.SqlServer.Dac.Model.TSqlModel
表示要保存到包中的模型的 TSqlModel。
- packageMetadata
类型:Microsoft.SqlServer.Dac.PackageMetadata
描述要用于 DacPackage 的名称、版本和说明的 PackageMetadata,如果包信息应保持不变,则为 Null。
用法说明
在 Visual Basic 和 C# 中,您可以对 DacPackage 类型的任何对象将此方法作为实例方法调用。在您使用实例方法语法调用此方法时,将忽略第一个参数。有关详细信息,请参阅b8020aae-374d-46a9-bcb7-8cc2390b93b6或175ce3ff-9bbf-4e64-8421-faeb81a0bb51。
异常
异常 | 条件 |
---|---|
DacServicesException | 如果 DacPackage 包含数据。 |
DacServicesException | 如果在将模型保存到包中时出现任何错误,包括有关验证模型的错误。 |
DacServicesException | 如果 dacPackage 未随 ReadWrite 一起加载。 |
ArgumentNullException | 如果 dacPackage 或 newModel 参数为 Null。 |