다음을 통해 공유


SqlMetadataStore.InitializeReplicaMetadata 메서드

메타데이터 저장소의 복제본에 대한 메타데이터를 만들고 초기화하며 복제본 메타데이터에 액세스하는 데 사용되는 복제본 메타데이터 개체를 반환합니다.

네임스페이스: Microsoft.Synchronization.MetadataStorage
어셈블리: microsoft.synchronization.metadatastorage.dll의 Microsoft.Synchronization.MetadataStorage

구문

‘선언
Public Overrides Function InitializeReplicaMetadata ( _
    idFormats As SyncIdFormatGroup, _
    replicaId As SyncId, _
    customItemFieldSchemas As IEnumerable(Of FieldSchema), _
    customIndexedFieldSchemas As IEnumerable(Of IndexSchema) _
) As ReplicaMetadata
‘사용 방법
Dim instance As SqlMetadataStore
Dim idFormats As SyncIdFormatGroup
Dim replicaId As SyncId
Dim customItemFieldSchemas As IEnumerable(Of FieldSchema)
Dim customIndexedFieldSchemas As IEnumerable(Of IndexSchema)
Dim returnValue As ReplicaMetadata

returnValue = instance.InitializeReplicaMetadata(idFormats, replicaId, customItemFieldSchemas, customIndexedFieldSchemas)
public override ReplicaMetadata InitializeReplicaMetadata (
    SyncIdFormatGroup idFormats,
    SyncId replicaId,
    IEnumerable<FieldSchema> customItemFieldSchemas,
    IEnumerable<IndexSchema> customIndexedFieldSchemas
)
public:
virtual ReplicaMetadata^ InitializeReplicaMetadata (
    SyncIdFormatGroup^ idFormats, 
    SyncId^ replicaId, 
    IEnumerable<FieldSchema^>^ customItemFieldSchemas, 
    IEnumerable<IndexSchema^>^ customIndexedFieldSchemas
) override
public ReplicaMetadata InitializeReplicaMetadata (
    SyncIdFormatGroup idFormats, 
    SyncId replicaId, 
    IEnumerable<FieldSchema> customItemFieldSchemas, 
    IEnumerable<IndexSchema> customIndexedFieldSchemas
)
public override function InitializeReplicaMetadata (
    idFormats : SyncIdFormatGroup, 
    replicaId : SyncId, 
    customItemFieldSchemas : IEnumerable<FieldSchema>, 
    customIndexedFieldSchemas : IEnumerable<IndexSchema>
) : ReplicaMetadata

매개 변수

  • idFormats
    공급자에 대한 ID 형식 스키마입니다.
  • replicaId
    이 메타데이터와 연결된 복제본 ID입니다.
  • customItemFieldSchemas
    각 메타데이터 항목에 대한 사용자 지정 메타데이터 필드의 스키마 정보 컬렉션입니다. 사용자 지정 메타데이터 필드가 없으면 null 참조(Visual Basic에서는 Nothing)이 될 수 있습니다.
  • customIndexedFieldSchemas
    메타데이터 저장소에 있는 항목을 보다 효율적으로 찾기 위해 사용할 수 있는 인덱스 스키마 목록입니다. 사용자 지정 인덱스가 없을 경우 null 참조(Visual Basic에서는 Nothing)일 수 있습니다.

반환 값

메타데이터 저장소의 복제본 메타데이터에 액세스하는 데 사용되는 복제본 메타데이터 개체입니다.

예외

예외 형식 조건

ObjectDisposedException

이 개체가 삭제되었거나, 올바르게 초기화되지 않았습니다.

ArgumentNullException

idFormats 또는 replicaId가 null 참조(Visual Basic에서는 Nothing)입니다.

ArgumentException

customItemFieldSchemas에 있는 사용자 지정 필드 이름의 길이가 0입니다.

NullReferenceException

customItemFieldSchemas에 있는 사용자 지정 필드 이름이 null 참조(Visual Basic에서는 Nothing)입니다.

MetadataFieldNotFoundException

customIndexedFieldSchemas에 있는 필드가 customItemFieldSchemas에 없습니다.

SyncIdFormatMismatchException

replicaId의 형식이 idFormats에서 지정된 형식과 일치하지 않습니다.

ArgumentOutOfRangeException

idFormats에 지정된 ID 길이가 8000바이트를 초과합니다.

InvalidOperationException

메타데이터 저장소를 열거나 만들지 않았습니다.

ReplicaMetadataAlreadyExistsException

지정된 replicaId에 대한 메타데이터 저장소에 복제본 메타데이터가 이미 있습니다.

주의

이 메서드는 메타데이터 저장소에 새 복제본 메타데이터 집합을 만드는 데 사용됩니다. 메타데이터 저장소의 기존 복제본 메타데이터에 액세스하려면 GetReplicaMetadata를 사용합니다.

이 메서드는 Metadata Storage Service에서 제공하는 ReplicaMetadata 추상 클래스의 구현을 반환합니다. 이 추상 클래스를 사용하면 Sync Framework 데이터베이스 파일에 저장된 복제본 메타데이터에 액세스할 수 있습니다.

customItemFieldSchemas를 사용하여 항목 메타데이터에 대한 사용자 지정 필드 집합을 정의할 수 있습니다. 각 필드는 고유 문자열 이름 및 값으로 구성되어 있습니다. 이러한 필드는 기본 항목 메타데이터 집합에서 지원하지 않는 항목에 대한 추가 메타데이터를 저장할 수 있습니다. 이 필드는 ItemMetadata에 있는 ItemMetadata.GetByteField 또는 Microsoft.Synchronization.MetadataStorage.ItemMetadata.SetCustomField와 같은 다양한 메서드를 통해 액세스할 수 있습니다.

사용자 지정 필드 집합을 메타데이터 저장소의 항목을 효율적으로 찾기 위한 인덱스로 사용할 수 있도록 customIndexedFieldSchemas를 사용하여 인덱스 스키마 집합을 정의할 수 있습니다. 인덱스 스키마를 고유한 것으로 정의하여 해당 인덱스가 항목 하나를 정의하도록 할 수 있습니다. 인덱스 스키마에 포함된 각 필드는 복제본에 대해 정의된 사용자 지정 필드 스키마에도 있어야 합니다. 인덱스 필드는 ReplicaMetadata.FindItemMetadataByIndexedFieldReplicaMetadata.FindItemMetadataByUniqueIndexedFields와 같은 메서드에 사용할 수 있습니다.

참고 항목

참조

SqlMetadataStore 클래스
SqlMetadataStore 멤버
Microsoft.Synchronization.MetadataStorage 네임스페이스