다음을 통해 공유


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 형식에서는 다음과 같은 멤버를 노출합니다.

생성자

  이름 설명
Protected 메서드 DatabaseSchemaProvider 제공된 생성자 형식을 사용하여 DatabaseSchemaProvider 클래스의 새 인스턴스를 초기화합니다.

위쪽

속성

  이름 설명
Public 속성 ExtensionManager Visual Studio Team System 2008 Database Edition의 현재 데이터베이스 프로젝트에 대한 ExtensionManager를 가져옵니다.
Public 속성 FamilyName 공급자 그룹의 이름을 가져옵니다.예를 들어 데이터베이스 공급자의 SQL Server 패밀리에 대한 패밀리 이름은 "sql"입니다.
Public 속성 ModelSchema 이 공급자의 ModelSchema 개체를 가져옵니다.
Public 속성 UserInteractionServices 파생 클래스에서 구현될 때 이 공급자의 UserInteractionServices 개체를 가져옵니다.

위쪽

메서드

  이름 설명
Public 메서드 Equals 지정한 Object가 현재 Object와 같은지 여부를 확인합니다. (Object에서 상속됨)
Protected 메서드 Finalize 가비지 수집에서 회수하기 전에 개체에서 리소스를 해제하고 다른 정리 작업을 수행할 수 있게 합니다. (Object에서 상속됨)
Public 메서드정적 멤버 GetCompatibleDatabaseSchemaProviderType 제공된 연결 문자열에서 가리키는 데이터베이스의 버전과 제공된 패밀리 이름에 적합한 공급자의 형식을 나타내는 Type을 반환합니다.
Public 메서드정적 멤버 GetCompatibleDatabaseSchemaProviderTypes 이 공급자와 호환되는 공급자 형식의 목록을 반환합니다.
Public 메서드 GetHashCode 특정 형식에 대한 해시 함수 역할을 합니다. (Object에서 상속됨)
Public 메서드 GetSchemaUpgradeXslt 파생 클래스에서 구현될 때, 제공된 버전의 스키마 모델을 현재 스키마 모델과 일치하도록 변환하기 위한 XSLT를 반환합니다.
Public 메서드 GetService<TService> 이 공급자에 등록되었으며 제공된 Type에 의해 식별되는 인스턴스화된 서비스 개체를 반환합니다.
Public 메서드 GetServiceConstructor<TServiceConstructor> 제공된 Type에 의해 식별되는 서비스의 생성자를 반환합니다.
Public 메서드 GetType 현재 인스턴스의 Type을 가져옵니다. (Object에서 상속됨)
Protected 메서드 MemberwiseClone 현재 Object의 단순 복사본을 만듭니다. (Object에서 상속됨)
Protected 메서드 RegisterModelTypes 파생 클래스에서 구현되는 경우 제공된 모델 스키마에 있는 모델 형식을 등록합니다.
Public 메서드 SchemaVersionSupported 제공된 버전이 스키마 모델의 버전과 동일한지 여부나 스키마 모델을 제공된 버전으로 변환하기 위한 XLST가 있는지 여부를 나타내는 값을 반환합니다.
Public 메서드 ToString 현재 개체를 나타내는 문자열을 반환합니다. (Object에서 상속됨)

위쪽

설명

이 기본 클래스를 사용하여 SqlDatabaseSchemaProvider 클래스로 표현되는 SQL Server와 같은 특정 데이터베이스 제품에 대해 구체적인 구현을 만듭니다. SqlDatabaseSchemaProviderSql100DatabaseSchemaProviderSql90DatabaseSchemaProvider와 같은 특정 버전의 SQL Server에 대해 각 DSP(데이터베이스 스키마 공급자)의 기본 클래스로 사용됩니다.

다양한 데이터베이스 제품에 대한 DatabaseSchemaProvider 클래스의 구체적인 구현은 다음과 같은 서비스를 노출합니다.

  • 스크립트 파일을 스크립트 모델로 구문 분석합니다.

  • 스크립트 모델을 스키마 모델로 해석합니다.

  • 스키마 모델에서 스크립트 모델을 생성합니다.

  • 스크립트 모델에서 스크립트 파일을 생성합니다.

이러한 상위 수준의 기능 외에 표시 이름, 아이콘 또는 기타 UI 개체를 위한 비교 서비스와 사용자 인터페이스(UI) 도움말 같이 세부적인 서비스가 노출됩니다. 이러한 상세 서비스는 DataProviderServices 클래스에 의해 제공됩니다.

또한 DatabaseSchemaProvider 구현에서는 응용 프로그램 기능이 다양한 DSP와의 호환성을 선언할 수 있습니다. 예를 들어, 기능이 DatabaseSchemaProvider와의 호환성을 선언하는 경우 해당 기능은 IDatabaseTableIDatabaseColumn 같은 추상 인터페이스를 사용하여 작동하도록 설계되었습니다. 기능이 Sql100DatabaseSchemaProvider 같은 구체적인 구현과의 호환성을 선언하는 경우 ISql100Table 같은 추상 인터페이스와 작동하도록 설계되었습니다. 해당 기능은 프로젝트가 선언된 호환 가능한 공급자 형식인 경우에만 로드할 수 있습니다. 이렇게 하면 기능이 구체적인 구현에 특정한 기능에 안전하게 액세스할 수 있습니다.

스레드로부터의 안전성

이 형식의 모든 공용 static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.

참고 항목

참조

Microsoft.Data.Schema 네임스페이스

IExtension

Sql100DatabaseSchemaProvider

Sql90DatabaseSchemaProvider

IDatabaseTable

ISql100Table