DatabaseSchemaProvider 类
为一组工厂对象和工厂方法提供基类。 这些对象和方法用于实例化与架构建模和脚本建模相关的服务对象,而这些服务对象共同表示 Visual Studio 中数据库项目的核心对象。
继承层次结构
System.Object
Microsoft.Data.Schema.DatabaseSchemaProvider
Microsoft.Data.Schema.Sql.SqlDatabaseSchemaProvider
命名空间: Microsoft.Data.Schema
程序集: Microsoft.Data.Schema(在 Microsoft.Data.Schema.dll 中)
语法
声明
Public MustInherit Class DatabaseSchemaProvider _
Implements IExtension
public abstract class DatabaseSchemaProvider : IExtension
public ref class DatabaseSchemaProvider abstract : IExtension
[<AbstractClass>]
type DatabaseSchemaProvider =
class
interface IExtension
end
public abstract class DatabaseSchemaProvider implements IExtension
DatabaseSchemaProvider 类型公开以下成员。
构造函数
名称 | 说明 | |
---|---|---|
DatabaseSchemaProvider | 使用所提供的构造函数类型初始化 DatabaseSchemaProvider 类的一个新实例。 |
页首
属性
名称 | 说明 | |
---|---|---|
ExtensionManager | 获取 Visual Studio Team System 2008 Database Edition 中当前数据库项目的 ExtensionManager。 | |
FamilyName | 获取一组提供程序的名称。例如,SQL Server 系列的数据库提供程序的系列名称为“sql”。 | |
ModelSchema | 获取此提供程序的 ModelSchema 对象。 | |
UserInteractionServices | 当在派生类中实现时,获取此提供程序的 UserInteractionServices 对象。 |
页首
方法
名称 | 说明 | |
---|---|---|
Equals | 确定指定的 Object 是否等于当前的 Object。 (继承自 Object。) | |
Finalize | 允许对象在“垃圾回收”回收之前尝试释放资源并执行其他清理操作。 (继承自 Object。) | |
GetCompatibleDatabaseSchemaProviderType | 返回表示某种提供程序类型的 Type,该提供程序类型适用于由所提供连接字符串指向的数据库版本,并适用于所提供的系列名称。 | |
GetCompatibleDatabaseSchemaProviderTypes | 返回与此提供程序兼容的提供程序类型的列表。 | |
GetHashCode | 用作特定类型的哈希函数。 (继承自 Object。) | |
GetSchemaUpgradeXslt | 在派生类中实现时,返回 XSLT 来对所提供版本的架构模型进行转换,使之与当前架构模型相匹配。 | |
GetService<TService> | 返回注册到此提供程序并由所提供的 Type 标识的实例化服务对象。 | |
GetServiceConstructor<TServiceConstructor> | 返回所提供的 Type 标识的服务的构造函数。 | |
GetType | 获取当前实例的 Type。 (继承自 Object。) | |
MemberwiseClone | 创建当前 Object 的浅表副本。 (继承自 Object。) | |
RegisterModelTypes | 在派生类中实现时,注册在所提供的模型架构中找到的模型类型。 | |
SchemaVersionSupported | 返回一个值,它指示所提供的版本是否与架构模型的版本相同,或是否有 XLST 可将架构模型转换为所提供的版本。 | |
ToString | 返回表示当前对象的字符串。 (继承自 Object。) |
页首
备注
使用此基类为 SQL Server 等特定数据库产品(通常由 SqlDatabaseSchemaProvider 类表示)创建具体的实现。SqlDatabaseSchemaProvider 用作多个数据库架构提供程序 (DSP)(如 Sql100DatabaseSchemaProvider 和 Sql90DatabaseSchemaProvider)中每一个的基类,这些数据库架构提供程序适用于特定版本的 SQL Server。
各种数据库产品的 DatabaseSchemaProvider 类的具体实现公开以下这些服务:
将脚本文件分析到脚本模型中。
将脚本模型解释为架构模型。
从架构模型生成一个脚本模型。
从脚本模型生成一个脚本文件。
除了这些高级功能,还可以公开更详细的服务,例如显示名称、图标或其他 UI 对象的比较服务和用户界面 (UI) 帮助。 这些详细服务由 DataProviderServices 类提供。
DatabaseSchemaProvider 实现还允许应用程序功能声明与各种 DSP 的兼容性。 例如,如果某个功能声明与 DatabaseSchemaProvider 兼容,则该功能设计为使用 IDatabaseTable 和 IDatabaseColumn 等抽象接口。 如果某个功能声明与具体的实现(如 Sql100DatabaseSchemaProvider)兼容,则它设计为使用抽象接口(如 ISql100Table)。 只有当项目也是已声明的兼容提供程序类型时,才可以加载该功能。 这为特定于具体实现的功能提供了安全访问。
线程安全
此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。