TSqlModel 类

定义

表示SQL Server数据库架构的模型。

public sealed class TSqlModel : IDisposable
type TSqlModel = class
    interface IDisposable
Public NotInheritable Class TSqlModel
Implements IDisposable
继承
TSqlModel
实现

构造函数

名称 说明
TSqlModel(SqlServerVersion, TSqlModelOptions)

创建面向特定模型的空模型 SqlServerVersion

TSqlModel(String, DacSchemaModelStorageType, CancellationToken)

DacPackageBacPackage. 加载模型。

这相当于使用除 以外的modelStorageType所有内容的默认值进行调用LoadFromDacpac(String, ModelLoadOptions)

TSqlModel(String, DacSchemaModelStorageType)

DacPackageBacPackage. 加载模型。

这相当于使用除 以外的modelStorageType所有内容的默认值进行调用LoadFromDacpac(String, ModelLoadOptions)

TSqlModel(String)

DacPackageBacPackage. 加载模型。

这等效于使用默认值调用 LoadFromDacpac(String, ModelLoadOptions)

属性

名称 说明
CollationComparer

可以使用此TSqlModel排序规则比较字符串和 ObjectIdentifiers 的比较器。 在比较模型中的对象时,这非常有用,因为比较与预期比较结果一致,SQL Server

DisplayServices

DisplayServices获取支持为模型中的对象生成显示属性。

EngineVersion

模型面向的特定引擎版本。

对于本地平台,这与 -例如Sql90,引擎版本为 9 一致SqlServerVersion

对于Microsoft Azure SQL 数据库最低有效版本为 11,引擎版本会影响模型中支持的功能。

IsScriptBacked

这是脚本支持的模型吗? 在这种情况下,作用域中的 UserDefined 对象将具有源位置信息,包括源名称和信息。 对于使用 等方案而言,这一点很重要。

默认情况下,创建的任何空 TSqlModel 操作都将由脚本支持。 只有在启用该选项时 LoadAsScriptBackedModel ,才会支持从 Dacpac 加载的模型。 请注意,创建脚本支持的模型所需的时间比使用从 Dacpac 加载的标准模型要长

Version

模型面向的特定SQL Server版本。

方法

名称 说明
AddObjects(String, TSqlObjectOptions)

根据 TSql 脚本字符串的内容向模型添加对象,以及由对象定义的 TSqlObjectOptions 其他元数据。脚本应包含有效的 TSql DDL 语句。

使用此方法添加的对象无法在以后更新或删除,因为更新/删除需要在添加对象时指定脚本名称。 如果这是一项要求,请改用该方法 AddOrUpdateObjects(String, String, TSqlObjectOptions)

AddObjects(String)

根据 TSql 脚本字符串的内容向模型添加对象。 该脚本应包含有效的 TSql DDL 语句。

使用此方法添加的对象无法在以后更新或删除,因为更新/删除需要在添加对象时指定脚本名称。 如果这是一项要求,请改用该方法 AddOrUpdateObjects(String, String, TSqlObjectOptions)

AddObjects(TSqlScript, TSqlObjectOptions)

根据对象的内容 TSqlScript 向模型添加对象,以及对象定义的 TSqlObjectOptions 其他元数据。脚本应是有效的 TSql,且没有分析错误。

使用此方法添加的对象无法在以后更新或删除,因为更新/删除需要在添加对象时指定脚本名称。 如果这是一项要求,请改用该方法 AddOrUpdateObjects(TSqlScript, String, TSqlObjectOptions)

AddObjects(TSqlScript)

根据对象的内容 TSqlScript 向模型添加对象。 该脚本应是有效的 TSql,且没有分析错误。

使用此方法添加的对象无法在以后更新或删除,因为更新/删除需要在添加对象时指定脚本名称。 如果这是一项要求,请改用该方法 AddOrUpdateObjects(TSqlScript, String, TSqlObjectOptions)

AddOrUpdateObjects(String, String, TSqlObjectOptions)

添加或更新使用在 定义的对象的指定对象定义的对象。 如果以前添加过相同 sourceName 对象,这些对象将完全被替换。对象定义基于 TSql 脚本字符串的内容以及对象定义的 TSqlObjectOptions 其他元数据。脚本应包含有效的 TSql DDL 语句。

AddOrUpdateObjects(TSqlScript, String, TSqlObjectOptions)

添加或更新使用在 定义的对象的指定对象定义的对象。 如果以前添加过相同 sourceName 对象,这些对象将完全被替换。对象定义基于对象的内容 TSqlScript 以及对象定义的 TSqlObjectOptions 其他元数据。脚本应包含有效的 TSql DDL 语句。

CheckVersionCompatibility(SqlServerVersion, CancellationToken)

验证模型以确定它是否包含与目标版本的SQL Server或Azure SQL 数据库不兼容的任何元素,并返回任何错误或警告。

ConvertToScriptedObject(TSqlObject, String)

将模型中的特定顶级对象转换为自身的脚本表示形式。 从数据库源模型开始,调用方希望修改此对象的内容时,这非常有用。

CopyModelOptions()

DatabaseOptions 模型复制到对象 TSqlModelOptions 。 如果希望在创建新模型时复制模型的选项,这非常有用。

DeleteObjects(String)

删除已添加到具有指定 sourceName对象的模型的任何对象。

Dispose()

释放对象使用 TSqlModel 的所有资源。

GetModelErrors()

返回模型中存在的所有 DacModelError项。

GetObject(ModelTypeClass, ObjectIdentifier, DacQueryScopes)

返回 TSqlObject指定 objectTypeid. 此方法仅支持顶级 ModelTypeClass 类型 - objectType 参数必须位于从 TopLevelTypes 方法返回的类型中,否则调用将失败。

GetObjects(DacQueryScopes, ModelTypeClass[])

返回与列表匹配typeFilters的所有TSqlObject项。 此方法仅支持顶级 ModelTypeClass 类型 - 参数中的所有 typeFilters 类型必须存在于 TopLevelTypes 或调用失败中。

GetObjects(ModelTypeClass, ObjectIdentifier, DacQueryScopes)

返回与和 . 匹配ModelTypeClassObjectIdentifier的所有TSqlObject项。 此方法仅支持顶级 ModelTypeClass 类型 - objectType 参数必须位于从 TopLevelTypes 方法返回的类型中,否则调用将失败。

GetObjects(String, ModelTypeClass[])

返回TSqlObject由参数指定的typeFilters给定sourceName文档ModelTypeClass中的所有 s。

LoadFromDacpac(Stream, ModelLoadOptions, CancellationToken)

从某个 DacPackage 模型加载或使用 BacPackage 指定的 options 模型来配置要使用的存储类型,以及是否加载脚本支持的模型。

LoadFromDacpac(Stream, ModelLoadOptions)

从某个 DacPackage 模型加载或使用 BacPackage 指定的 options 模型来配置要使用的存储类型,以及是否加载脚本支持的模型。

LoadFromDacpac(String, ModelLoadOptions, CancellationToken)

从某个 DacPackage 模型加载或使用 BacPackage 指定的 options 模型来配置要使用的存储类型,以及是否加载脚本支持的模型。

LoadFromDacpac(String, ModelLoadOptions)

从某个 DacPackage 模型加载或使用 BacPackage 指定的 options 模型来配置要使用的存储类型,以及是否加载脚本支持的模型。

LoadFromDatabase(String, ModelExtractOptions, Nullable<CancellationToken>)

使用指定的 options值从数据库加载模型。

LoadFromDatabase(String, SecureString, ModelExtractOptions, Nullable<CancellationToken>)

使用指定的 options值从数据库加载模型。

LoadFromDatabaseWithAuthProvider(String, IUniversalAuthProvider, ModelExtractOptions, Nullable<CancellationToken>)

使用指定的 options值从数据库加载模型。

Validate()

验证模型并返回包含任何错误/警告的消息列表。

适用于