1
我在C#類中封裝了對DocDB集合的訪問,並且在映射更高級的查詢時遇到了一些麻煩。當嘗試使用查詢瀏覽器調試,我注意到在JSON一些差異返回:來自DocDb的查詢結果格式的差異
select * from collection
將返回
[{ "id" : "1", "names" : [ {"name" : "first"}, {"name" : "second"}]}]
而
select c from collection c
將返回
[{ "c" : { "id" : "1", "names" : [ {"name" : "first"}, {"name" : "second"}]}}]
請不要冰如何將結果嵌套在「c」屬性下面!
當我需要創建使用named選擇並使c#庫映射結果返回到某個類型的查詢時,這種區別似乎會導致問題。這樣的查詢的示例是
select c from collection c join n in c.names WHERE n.name = "first"
此查詢必須使用用於選擇的「C」(*是不允許的),因此內部映射返回結果的正確數量,但每個返回的項沒有被映射(可能是因爲它期望最高級別的json屬性,而不是在「c」屬性下)。
有沒有人知道我可以如何獲得DocumentQuery C#API(從nuget版本1.5.3)來理解映射的結果嵌套在命名結果屬性下?