ReplicaMetadata.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
public abstract ItemMetadata FindItemMetadataByUniqueIndexedFields (
IEnumerable<KeyValuePair<String,Object>> fields
)
public abstract function FindItemMetadataByUniqueIndexedFields (
fields : IEnumerable<KeyValuePair<String,Object>>
) : ItemMetadata
Parámetros
- fields
Conjunto de campos indizados únicos que identifica el elemento que hay que buscar. Los campos deben ser campos válidos y representar un índice único. Estos campos deben estar en el mismo orden que el usado para especificar el índice cuando se llamó a InitializeReplicaMetadata.
Valor devuelto
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
Tipo de excepción | Condición |
---|---|
El objeto se ha eliminado o no se ha inicializado correctamente. |
|
fields es un valor es una referencia nula (Nothing en Visual Basic)., o algún nombre o valor de fields es un valor es una referencia nula (Nothing en Visual Basic).. |
|
Un nombre de campo de fields tiene longitud 0 o un valor de tipo cadena de fields tiene longitud 0. |
|
Un campo de fields es de un tipo no compatible. |
|
fieldName no se ha encontrado o no es válido. |
|
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.
Ejemplo
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