다음을 통해 공유


ReplicaMetadata.CreateItemMetadata 메서드

파생 클래스에서 재정의되면 메타데이터 저장소에 새 항목 메타데이터를 추가하는 데 사용할 수 있는 새 항목 메타데이터 개체를 만듭니다.

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

구문

‘선언
Public MustOverride Function CreateItemMetadata ( _
    globalId As SyncId, _
    creationVersion As SyncVersion _
) As ItemMetadata
‘사용 방법
Dim instance As ReplicaMetadata
Dim globalId As SyncId
Dim creationVersion As SyncVersion
Dim returnValue As ItemMetadata

returnValue = instance.CreateItemMetadata(globalId, creationVersion)
public abstract ItemMetadata CreateItemMetadata (
    SyncId globalId,
    SyncVersion creationVersion
)
public:
virtual ItemMetadata^ CreateItemMetadata (
    SyncId^ globalId, 
    SyncVersion^ creationVersion
) abstract
public abstract ItemMetadata CreateItemMetadata (
    SyncId globalId, 
    SyncVersion creationVersion
)
public abstract function CreateItemMetadata (
    globalId : SyncId, 
    creationVersion : SyncVersion
) : ItemMetadata

매개 변수

  • globalId
    만들 항목의 전역 ID입니다. 전역 ID는 고유해야 합니다.
  • creationVersion
    이 항목과 연결할 생성 버전입니다.

반환 값

새로 만들어진 항목 메타데이터 개체입니다.

예외

예외 형식 조건

ObjectDisposedException

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

ArgumentNullException

globalId 또는 creationVersion이 null 참조(Visual Basic에서는 Nothing)입니다.

OutOfMemoryException

메모리가 부족하여 항목 메타데이터를 만들 수 없습니다.

SyncIdFormatMismatchException

globalId의 형식이 복제본 메타데이터가 초기화될 때 지정된 형식 스키마와 일치하지 않습니다.

주의

이 항목 메타데이터는 SaveItemMetadata를 호출할 때까지 메타데이터 저장소에 저장되지 않습니다.

예제

다음 예제에서는 항목의 메타데이터를 만들고 항목의 각 변경 단위에 대한 변경 단위 버전을 설정한 후 항목의 인덱스 필드에 대한 사용자 지정 필드 값을 설정합니다.

private ItemMetadata CreateContactMetadata(Contact contact, SyncId itemId, SyncVersion creationVersion,
    SyncVersion changeVersion)
{
    // Create the item by using the metadata storage service.
    ItemMetadata itemMeta = _ContactReplicaMetadata.CreateItemMetadata(itemId, creationVersion);

    // Set the version information for each change unit.
    itemMeta.SetChangeUnitVersion(new SyncId((byte)Contact.ChangeUnitFields.NameCU), changeVersion);
    itemMeta.SetChangeUnitVersion(new SyncId((byte)Contact.ChangeUnitFields.PhoneCU), changeVersion);
    itemMeta.SetChangeUnitVersion(new SyncId((byte)Contact.ChangeUnitFields.AddressCU), changeVersion);
    itemMeta.SetChangeUnitVersion(new SyncId((byte)Contact.ChangeUnitFields.BirthdateCU), changeVersion);

    // A unique index is defined for the combination of first name, last name, and phone number in order
    // to map between the item ID and the contact.
    // Set the field values for the index fields.
    itemMeta.SetCustomField(FirstNameField, contact.FirstName);
    itemMeta.SetCustomField(LastNameField, contact.LastName);
    itemMeta.SetCustomField(PhoneNumberField, contact.PhoneNumber);

    return itemMeta;
}

참고 항목

참조

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