使用全局二级索引的 .net queryAsync 方法的 AWS sdk 失败

AWS sdk for .net queryAsync method using global secondary index fails

下面给出的是我用来从 Dynamodb table 检索详细信息的方法。但是当我调用这个方法时,它最终抛出了一个异常"Unable to locate property for key attribute appointmentId"。这个特定 table 的主键是 appointmentId,但我已经在 patientId 列上创建了一个全局二级索引。我在下面的查询中使用该索引来获取给定 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");
        }
    }

这是一个愚蠢的错误。我将 table 的散列键列设为 "appointmentID" 并将模型对象 属性 命名为 AppointmentID。 属性 名称的不匹配混淆了 dynamodb 映射。