ReplicaMetadata.FindItemMetadataByUniqueIndexedFields-Methode
Gibt, wenn in einer abgeleiteten Klasse überschrieben, den eindeutigen Eintrag von Elementmetadaten zurück, der die festgelegten Werte für das indizierte Feld hat.
Namespace: Microsoft.Synchronization.MetadataStorage
Assembly: Microsoft.Synchronization.MetadataStorage (in microsoft.synchronization.metadatastorage.dll)
Syntax
'Declaration
Public MustOverride Function FindItemMetadataByUniqueIndexedFields ( _
fields As IEnumerable(Of KeyValuePair(Of String, Object)) _
) As ItemMetadata
'Usage
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
Parameter
- fields
Der Satz eindeutig indizierter Felder, der das zu suchende Element identifiziert. Die Felder müssen gültige Felder sein und einen eindeutigen Index darstellen. Die Reihenfolge dieser Felder muss mit der Reihenfolge übereinstimmen, in der der Index beim Aufruf von InitializeReplicaMetadata angegeben wurde.
Rückgabewert
Der eindeutige Eintrag für Elementmetadaten, der über die festgelegten Werte für die indizierten Felder verfügt. Wenn kein Element vorhanden ist, wird NULL zurückgegeben.
Ausnahmen
Ausnahmetyp | Bedingung |
---|---|
Das Objekt wurde verworfen oder nicht ordnungsgemäß initialisiert. |
|
fields ist NULL, oder ein Name bzw. Wert in fields ist NULL. |
|
Ein Feldname in fields hat die Länge 0, oder ein Wert des Zeichenfolgentyps in fields hat die Länge 0. |
|
Ein Feld in fields ist ein nicht unterstützter Typ. |
|
fieldName wurde nicht gefunden oder ist nicht gültig. |
|
Bei dem angegebenen Feld handelt es sich nicht um einen eindeutigen Index. |
Hinweise
Benutzerdefinierte Felder müssen bei erstmaliger Initialisierung der Replikatmetadaten eingerichtet werden, indem FieldSchema an InitializeReplicaMetadata übergeben wird.
Indexfelder müssen bei erstmaliger Initialisierung der Replikatmetadaten eingerichtet und als eindeutig markiert werden, indem IndexSchema an InitializeReplicaMetadata übergeben wird.
Beispiel
Im folgenden Beispiel wird eine Liste von Indexfeldnamens- und Wertpaaren erstellt. Die Liste wird dann als eindeutiger Index zur Suche nach einem Element im Metadatenspeicher verwendet:
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);
}
Siehe auch
Verweis
ReplicaMetadata-Klasse
ReplicaMetadata-Member
Microsoft.Synchronization.MetadataStorage-Namespace