Share via


你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

UniqueKeyPolicy 类

定义

表示用于指定 Azure Cosmos DB 服务集合中文档的唯一性约束的唯一键策略配置。

public sealed class UniqueKeyPolicy : Microsoft.Azure.Documents.JsonSerializable
type UniqueKeyPolicy = class
    inherit JsonSerializable
Public NotInheritable Class UniqueKeyPolicy
Inherits JsonSerializable
继承
UniqueKeyPolicy

示例

var collectionSpec = new DocumentCollection { Id = “Collection with unique keys”, UniqueKeyPolicy = new UniqueKeyPolicy { UniqueKeys = new Collection<UniqueKey> { // pair </name/first, name/last> is unique. new UniqueKey { Paths = new Collection<string> { “/name/first”, “/name/last” } }, // /address is unique. new UniqueKey { Paths = new Collection<string> { “/address” } }, } } };DocumentCollection 集合 = await 客户端。CreateDocumentCollectionAsync (databaseLink, collectionSpec }) ;

var doc = JObject.Parse (“{”name“: { ”first“: ”John“, ”last“: ”Smith“ }, ”alias“:”johnsmith“ }”) ;await 客户端。CreateDocumentAsync (集合。SelfLink,doc) ;

doc = JObject.Parse (“{”name“: { ”first“: ”James“, ”last“: ”Smith“ }, ”alias“:”jamessmith“ }”) ;await 客户端。CreateDocumentAsync (集合。SelfLink,doc) ;

try { // 错误: 名字+姓氏不唯一。 doc = JObject.Parse (“{”name“: { ”first“: ”John“, ”last“: ”Smith“ }, ”alias“:”johnsmith1“ }”) ;await 客户端。CreateDocumentAsync (集合。SelfLink,doc) ;引发新的异常 (“CreateDocumentAsync 应已引发异常/冲突”) ;} catch (DocumentClientException ex) { if (ex.StatusCode != System.Net.HttpStatusCode.Conflict) 引发;}

try { // 错误: 别名不唯一。 doc = JObject.Parse (“{”name“: { ”first“: ”James Jr“, ”last“: ”Smith“ }, ”alias“:”jamessmith“ }”) ;await 客户端。CreateDocumentAsync (集合。SelfLink,doc) ;引发新的异常 (“CreateDocumentAsync 应已引发异常/冲突”) ;} catch (DocumentClientException ex) { if (ex.StatusCode != System.Net.HttpStatusCode.Conflict) 引发;}

构造函数

UniqueKeyPolicy()

为 Azure Cosmos DB 服务初始化 类的新实例 UniqueKeyPolicy

属性

UniqueKeys

获取或设置 的 UniqueKey 集合,该集合可保证 Azure Cosmos DB 服务集合中文档的唯一性。

方法

Equals(Object)

表示用于指定 Azure Cosmos DB 服务集合中文档的唯一性约束的唯一键策略配置。

GetHashCode()

表示用于指定 Azure Cosmos DB 服务集合中文档的唯一性约束的唯一键策略配置。

LoadFrom(JsonReader)

从 Azure Cosmos DB 服务中的指定 JSON 读取器加载对象。

(继承自 JsonSerializable)
LoadFrom(JsonReader, JsonSerializerSettings)

从 Azure Cosmos DB 服务中的指定 JSON 读取器加载对象。

(继承自 JsonSerializable)
SaveTo(Stream, SerializationFormattingPolicy)

将 对象保存到 Azure Cosmos DB 服务中的指定流。

(继承自 JsonSerializable)
SaveTo(Stream, SerializationFormattingPolicy, JsonSerializerSettings)

将 对象保存到 Azure Cosmos DB 服务中的指定流。

(继承自 JsonSerializable)
ToString()

返回 Azure Cosmos DB 服务中对象的字符串表示形式。

(继承自 JsonSerializable)

适用于