2017-04-26 20 views
0

給定T : Document類型的通用對象和PartitionKeyDefinition,如何獲取與該資源對應的PartitionKey?我使用反射來處理一些簡單的情況,但我必須想象有一些內置函數可以爲所有情況做到這一點。我雖然沒有找到它。從文檔和PartitionKeyDefinition創建PartitionKey

回答

0

根據你的描述,我創建的文檔與結構如下:

{ 
    "id": "73e799df-b7a5-7470-4f25-ee6c1811a5b4", 
    "tblType": "search", 
    "user": { 
    "memberId": 2 
    } 
} 

注:分區鍵是/user/memberId

給定一個T類型的通用對象:Document和PartitionKeyDefinition,如何獲得與該資源對應的PartitionKey?

我認爲你想從文檔實例中檢索基於PartitionKeyDefinition的分區鍵。我創建的文檔模型和檢索文件如下:

var results=client.CreateDocumentQuery<MyDocument>(UriFactory.CreateDocumentCollectionUri(DatabaseId, 
       DocumentCollectionId), "select * from c where c.user.memberId=2").ToList(); 

爲了獲取從給定的文檔對象分區鍵,你可以參考如下代碼片段:

var obj = JObject.FromObject(results[0]); 
var result=obj.SelectToken("user.memberId"); //2 

enter image description here