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();