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 |
---|---|
O objeto foi descartado ou não foi inicializado corretamente. |
|
fields é um referência nula (Nothing no Visual Basic) ou qualquer nome ou valor em fields é um referência nula (Nothing no Visual Basic). |
|
Um nome de campo em fields tem comprimento 0 ou um valor do tipo string em fields tem comprimento 0. |
|
Um campo em fields é de um tipo sem suporte. |
|
fieldName não foi localizado ou não é válido. |
|
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