FindItemMetadataByUniqueIndexedFields Método

Cuando se invalida en una clase derivada, devuelve la entrada de metadatos de elementos única que tiene los valores especificados para los campos indizados.

Espacio de nombres:  Microsoft.Synchronization.MetadataStorage
Ensamblado:  Microsoft.Synchronization.MetadataStorage (en Microsoft.Synchronization.MetadataStorage.dll)

Sintaxis

'Declaración
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
abstract FindItemMetadataByUniqueIndexedFields : 
        fields:IEnumerable<KeyValuePair<string, Object>> -> ItemMetadata 
public abstract function FindItemMetadataByUniqueIndexedFields(
    fields : IEnumerable<KeyValuePair<String, Object>>
) : ItemMetadata

Parámetros

Valor devuelto

Tipo: Microsoft.Synchronization.MetadataStorage. . :: . .ItemMetadata
Entrada de metadatos de elementos única que tiene los valores especificados para los campos indizados. Se devuelve un valor NULL cuando no existe ningún elemento.

Excepciones

Excepción Condición
ObjectDisposedException

El objeto se ha eliminado o no se ha inicializado correctamente.

ArgumentNullException

fields es un valor null Nothing nullptr unit es una referencia NULL (Nothing en Visual Basic). , o algún nombre o valor de fields es un valor null Nothing nullptr unit es una referencia NULL (Nothing en Visual Basic). .

ArgumentException

Un nombre de campo de fields tiene longitud 0 o un valor de tipo cadena de fields tiene longitud 0.

NotSupportedException

Un campo de fields es de un tipo no compatible.

MetadataFieldNotFoundException

fieldName no se ha encontrado o no es válido.

MetadataStoreInvalidOperationException

El campo especificado no es un índice único.

Notas

Los campos personalizados se deben establecer cuando se inicializan los metadatos de la réplica por primera vez pasando FieldSchema a InitializeReplicaMetadata.

Los campos indizados se deben establecer y marcar como únicos cuando se inicializan los metadatos de la réplica por primera vez pasando IndexSchema a InitializeReplicaMetadata.

Ejemplos

En el ejemplo siguiente se crea una lista de pares de valor y nombre de campo de índice, y se utiliza la lista como índice único para buscar un elemento en el almacén de metadatos:

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

Vea también

Referencia

ReplicaMetadata Clase

ReplicaMetadata Miembros

Microsoft.Synchronization.MetadataStorage Espacio de nombres