ServiceStack PocoDynamo C# Query по свойству вложенного объекта

Ниже представлена ​​моя структура строкового объекта Dynamodb. Статус, звонки - это столбцы 1-го уровня, а внутренние звонки, у меня есть вложенные данные.

Record
      ->Status : 0
      ->Calls
             -[0]:CapIndex : 5
             -[1]:CapIndex : 0

Что такое запрос сканирования в Servicestack, и мне нужно получить строки со статусом =0 и если какой-либо из вызовов имеет CapIndex=0

Я пробовал следующее, но вызывало исключение

dynamoClient.FromScan<Cache>(x=>x.Status==0 && x.Calls.Any(y=>y.CapIndex == 0)).Exec()

Исключение: переменная 'x' типа 'Cache' указана из области '', но не определена

Есть идеи, ребята?

1 ответ

Вы не можете выполнить запрос на стороне сервера для вложенного сложного типа, вам потребуется выполнить вложенный запрос сложного типа на клиенте после выполнения запроса Dynamo DB, например:

var results = dynamoClient.FromScan<Cache>(x=>x.Status==0).Exec()
  .Where(x => x.Calls.Any(y=>y.CapIndex == 0)).ToList();
Другие вопросы по тегам