Запустив тот же запрос, что и вы, мне удалось вернуть результат. Вот документ, с которым я работаю:
"id": "1",
"FamilyName": "Smith",
"Children": [
{
"name": "John",
"age": 21
}
],
"_rid": "Gj0yANGrYVIDAAAAAAAAAA==",
"_self": "dbs/Gj0yAA==/colls/Gj0yANGrYVI=/docs/Gj0yANGrYVIDAAAAAAAAAA==/",
"_etag": "\"e6015c65-0000-0800-0000-5e94d6380000\"",
"_attachments": "attachments/",
"_ts": 1586812472
Я настроил класс для FamilyModel следующим образом:
public class FamilyModel
{
public string id { get; set; }
public string FamilyName { get; set; }
public Children[] Children { get; set; }
}
public class Children
{
public string name { get; set; }
public int age { get; set; }
}
И чтобы выполнить запрос, я получил следующий код (Simple. NET Консольное приложение).
static void Main(string[] args)
{
Uri collectionLink = UriFactory.CreateDocumentCollectionUri(databaseName, collectionName);
var option = new FeedOptions()
{
EnableCrossPartitionQuery = true
};
using (client = new DocumentClient(new Uri(endpoint), primaryKey))
{
var x = client.CreateDocumentQuery<FamilyModel>(collectionLink, option)
.SelectMany(f => f.Children.Where(c => c.name == "John"))
.ToList();
foreach (var result in x)
{
Console.WriteLine(result.name);
Console.WriteLine(result.age);
}
}
}
И я получаю следующий результат, возвращенный мне в консоли:
Включили ли вы кросс-разделение запросов в ваших вариантах? Я предполагаю, что вашим ключом раздела является / id, поэтому если это не так, дайте мне знать, и я могу попытаться воссоздать вашу проблему.
Если я что-то упустил здесь, вы настроили по-другому, Я знаю, чтобы я мог воссоздать ваш сценарий.
Надеюсь, это поможет:)