в DocumentDB Я некоторые документы, как этотDocumentDB заказ по результатам
{
"Code": "123456",
"ScanLog": [
{
"TimeStamp": 20160224115507
},
{
"TimeStamp": 20160224115641
}
]
"LastScanTimeStamp": 20160224115641
}
Я сделал этот запрос LINQ в C#:
var Query = client.CreateDocumentQuery().OrderByDescending(c => c.LastScanTimeStamp).SelectMany(a => a.ScanLog.Select(b => new { Code = a.Code, TimeStamp = b.TimeStamp })).AsDocumentQuery();
var feedResp = await Query.ExecuteNextAsync();
и это результат:
[
{
"Code": "123456",
"TimeStamp": 20160224115507
},
{
"Code": "123456",
"TimeStamp": 20160224115641
},
{
"Code": "abcdef",
"TimeStamp": 20160224101641
},
{
"Code": "abcdef",
"TimeStamp": 20160224105641
}
]
К этому результату я применяю другой порядок следующим образом:
feedResp.OrderByDescending(a => a.TimeStamp).AsEnumerable();
Отклик:
[
{
"Code": "123456",
"TimeStamp": 20160224115641
},
{
"Code": "123456",
"TimeStamp": 20160224115507
},
{
"Code": "abcdef",
"TimeStamp": 20160224105641
},
{
"Code": "abcdef",
"TimeStamp": 20160224101641
}
]
Теперь, если я делаю первоначальный запрос с оператором LINQ Take(), указывающим предел для извлекаемых элементов, я потерял некоторые элементы в результате. Почему?
Ваш первоначальный ответ был 4 результатов. Какую ценность вы указали для Take? Если было меньше 4, вы, очевидно, получите меньше результатов. –