Ниже приведен метод, который я использовал для получения сведений из таблицы Dynamodb. Но когда я вызываю этот метод, он генерирует исключение «Невозможно найти свойство для ключевого атрибута assignId». первичный ключ этой конкретной таблицы - assignId, но я уже создал глобальный вторичный индекс для столбца PatientId. Я использую этот индекс в запросе ниже, чтобы получить сведения о встрече по заданному идентификатору пациента.
public async Task GetAppointmentByPatientID(int patientID)
{
var context = CommonUtils.Instance.DynamoDBContext;
PatientAppointmentObjectList.Clear();
DynamoDBOperationConfig config = new DynamoDBOperationConfig();
config.IndexName = DBConstants.APPOINTMENT_PATIENTID_GSI;
AsyncSearch<ScheduledAppointment> appQuery = context.QueryAsync<ScheduledAppointment>(patientID.ToString(), config);
IEnumerable<ScheduledAppointment> appList = await appQuery.GetRemainingAsync();
appList.Distinct().ToList().ForEach(i => PatientAppointmentObjectList.Add(i));
if (PropertyChanged != null)
this.OnPropertyChanged("PatientAppointmentObjectList");
}
}