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
- fields
Tipo: System.Collections.Generic. . :: . .IEnumerable< (Of < ( <'KeyValuePair< (Of < ( <'String, Object> ) > ) >> ) > ) >
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
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
Microsoft.Synchronization.MetadataStorage Espacio de nombres