Compartilhar via


Método ReplicaMetadata.FindItemMetadataByUniqueIndexedFields

Quando substituído em uma classe derivada, retorna a entrada de metadados do item exclusiva que tem os valores especificados para os campos indexados.

Namespace: Microsoft.Synchronization.MetadataStorage
Assembly: Microsoft.Synchronization.MetadataStorage (em microsoft.synchronization.metadatastorage.dll)

Sintaxe

'Declaração
Public MustOverride Function FindItemMetadataByUniqueIndexedFields ( _
    fields As IEnumerable(Of KeyValuePair(Of String, Object)) _
) As ItemMetadata
'Uso
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

Parâmetros

  • fields
    O conjunto de campos indexados exclusivos que identifica o item que será pesquisado. Os campos devem ser campos válidos e representar um índice único. Esses campos precisam estar na mesma ordem daquela usada para especificar o índice quando InitializeReplicaMetadata foi chamado.

Valor de retorno

A entrada de metadados do item única que tem os valores especificados para os campos indexados. Um referência nula (Nothing no Visual Basic) é retornado quando não há nenhum item.

Exceções

Tipo de exceção Condição

ObjectDisposedException

O objeto foi descartado ou não foi inicializado corretamente.

ArgumentNullException

fields é um referência nula (Nothing no Visual Basic) ou qualquer nome ou valor em fields é um referência nula (Nothing no Visual Basic).

ArgumentException

Um nome de campo em fields tem comprimento 0 ou um valor do tipo string em fields tem comprimento 0.

NotSupportedException

Um campo em fields é de um tipo sem suporte.

MetadataFieldNotFoundException

fieldName não foi localizado ou não é válido.

MetadataStoreInvalidOperationException

O campo especificado não é um índice exclusivo.

Comentários

Os campos personalizados devem ser estabelecidos quando os metadados da réplica são inicializados pela primeira vez, passando FieldSchema para InitializeReplicaMetadata.

Os campos de índice devem ser estabelecidos e marcados como exclusivos quando os metadados da réplica são inicializados pela primeira vez, passando IndexSchema para InitializeReplicaMetadata.

Exemplo

O exemplo a seguir cria uma lista de pares de nome e valor de campos de índice, e usa a lista como um índice exclusivo para localizar um item no repositório de metadados:

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);
}

Consulte também

Referência

Classe ReplicaMetadata
Membros ReplicaMetadata
Namespace Microsoft.Synchronization.MetadataStorage