다음을 통해 공유


ReplicaMetadata.FindItemMetadataByUniqueIndexedFields 메서드

파생 클래스에서 재정의되면 인덱싱된 필드에 지정된 값이 있는 고유한 항목 메타데이터를 반환합니다.

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

구문

‘선언
Public MustOverride Function FindItemMetadataByUniqueIndexedFields ( _
    fields As IEnumerable(Of KeyValuePair(Of String, Object)) _
) As ItemMetadata
‘사용 방법
Dim instance As ReplicaMetadata
Dim fields As IEnumerable(Of KeyValuePair(Of String, Object))
Dim returnValue As ItemMetadata

returnValue = instance.FindItemMetadataByUniqueIndexedFields(fields)
public abstract ItemMetadata FindItemMetadataByUniqueIndexedFields (
    IEnumerable<KeyValuePair<string,Object>> fields
)
public:
virtual ItemMetadata^ FindItemMetadataByUniqueIndexedFields (
    IEnumerable<KeyValuePair<String^, Object^>>^ fields
) abstract
public abstract ItemMetadata FindItemMetadataByUniqueIndexedFields (
    IEnumerable<KeyValuePair<String,Object>> fields
)
public abstract function FindItemMetadataByUniqueIndexedFields (
    fields : IEnumerable<KeyValuePair<String,Object>>
) : ItemMetadata

매개 변수

  • fields
    검색할 항목을 식별하는 고유한 인덱싱된 필드 집합입니다. 필드는 올바른 필드여야 하며 고유한 인덱스를 나타내야 합니다. 이 필드는 InitializeReplicaMetadata를 호출할 때 인덱스를 지정하는 데 사용된 순서와 동일한 순서여야 합니다.

반환 값

인덱싱된 필드에 지정된 값이 있는 고유한 항목 메타데이터입니다. 항목이 없으면 null 참조(Visual Basic에서는 Nothing)이 반환됩니다.

예외

예외 형식 조건

ObjectDisposedException

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

ArgumentNullException

fields가 null 참조(Visual Basic에서는 Nothing)이거나, fields에 있는 이름 또는 값이 null 참조(Visual Basic에서는 Nothing)입니다.

ArgumentException

fields에 있는 필드 이름의 길이가 0이거나, fields에 있는 문자열 형식 값의 길이가 0입니다.

NotSupportedException

fields에 있는 필드가 지원되지 않는 형식입니다.

MetadataFieldNotFoundException

fieldName이 없거나 유효하지 않습니다.

MetadataStoreInvalidOperationException

지정한 필드가 고유한 인덱스가 아닙니다.

주의

InitializeReplicaMetadataFieldSchema를 전달하여 복제본 메타데이터를 처음 초기화하는 경우 사용자 지정 필드를 설정해야 합니다.

InitializeReplicaMetadataIndexSchema를 전달하여 복제본 메타데이터를 처음 초기화하는 경우 인덱스 필드를 설정하고 고유한 것으로 표시해야 합니다.

예제

다음 예제에서는 인덱스 필드 이름 및 값 쌍의 목록을 만들고 이 목록을 고유 인덱스로 사용하여 메타데이터 저장소에서 항목을 찾습니다.

private ItemMetadata FindMetadata(Contact contact)
{
    // Try to find the item by using the unique index field values of the contact. These values are
    // the first name, last name, and phone number of the contact.
    List<KeyValuePair<string, object>> fields = new List<KeyValuePair<string, object>>();
    fields.Add(new KeyValuePair<string, object>(FirstNameField, contact.FirstName));
    fields.Add(new KeyValuePair<string, object>(LastNameField, contact.LastName));
    fields.Add(new KeyValuePair<string, object>(PhoneNumberField, contact.PhoneNumber));
    return _ContactReplicaMetadata.FindItemMetadataByUniqueIndexedFields(fields);
}

참고 항목

참조

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