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)。
例外
例外狀況型別 | 條件 |
---|---|
此物件已被處置,或是未正確初始化。 |
|
fields 是 null 參考 (在 Visual Basic 中為 Nothing),或者 fields 中的任何名稱或值為 null 參考 (在 Visual Basic 中為 Nothing)。 |
|
fields 中欄位名稱的長度為 0,或者 fields 中字串類型值的長度為 0。 |
|
fields 中欄位的類型不受支援。 |
|
fieldName 找不到或是無效。 |
|
指定的欄位不是唯一的索引。 |
備註
將 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 命名空間