共用方式為


ReplicaMetadata.FindItemMetadataByUniqueIndexedFields 方法

在衍生類別中覆寫時,會傳回具有指定之索引欄位值的唯一項目中繼資料項目。

命名空間: Microsoft.Synchronization.MetadataStorage
組件: Microsoft.Synchronization.MetadataStorage (在 microsoft.synchronization.metadatastorage.dll)

語法

'宣告
Public MustOverride Function FindItemMetadataByUniqueIndexedFields ( _
    fields As IEnumerable(Of KeyValuePair(Of String, Object)) _
) As ItemMetadata
'用途
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

參數

  • fields
    可識別要搜尋之項目的唯一索引欄位集合。這些欄位必須是有效的欄位,且必須表示唯一的索引。這些欄位的順序必須與呼叫 InitializeReplicaMetadata 時用來指定索引的順序相同。

傳回值

具有指定之索引欄位值的唯一項目中繼資料項目。當沒有任何項目存在時,會傳回 null 參考 (在 Visual Basic 中為 Nothing)。

例外

例外狀況型別 條件

ObjectDisposedException

此物件已被處置,或是未正確初始化。

ArgumentNullException

fields 是 null 參考 (在 Visual Basic 中為 Nothing),或者 fields 中的任何名稱或值為 null 參考 (在 Visual Basic 中為 Nothing)。

ArgumentException

fields 中欄位名稱的長度為 0,或者 fields 中字串類型值的長度為 0。

NotSupportedException

fields 中欄位的類型不受支援。

MetadataFieldNotFoundException

fieldName 找不到或是無效。

MetadataStoreInvalidOperationException

指定的欄位不是唯一的索引。

備註

FieldSchema 傳遞給 InitializeReplicaMetadata 來初次初始化複寫中繼資料時,必須建立自訂欄位。

IndexSchema 傳遞給 InitializeReplicaMetadata 來初次初始化複寫中繼資料時,必須建立索引欄位並將其標示為唯一。

範例

下列範例會建立索引欄位名稱和值組的清單,並且將此清單當做唯一索引使用,以便在中繼資料存放區內尋找項目:

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

請參閱

參考

ReplicaMetadata 類別
ReplicaMetadata 成員
Microsoft.Synchronization.MetadataStorage 命名空間