当我执行以下代码Amazon.DynamoDBv2.Model.ConditionalCheckFailedException时没有捕获。
点击按钮
public DelegateCommand SaveCommand
{
get
{
_SaveCommand = new DelegateCommand(async (arg) => { await
this.SaveCommandExecuted(arg); }, this.SaveCommandCanExecute);
return _SaveCommand;
}
set
{
_SaveCommand = value;
OnPropertyChanged("SaveCommand");
}
}
保存方法内容
public async Task SaveCommandExecuted(object parameter)
{
try
{
await PatientDataSource.Instance.SavePatient(Patient);
}
catch (Amazon.DynamoDBv2.Model.ConditionalCheckFailedException ex)
{
Exception = ex.Message;
}
}
数据库操作方法
public async Task SavePatient(Patient patient)
{
var context = CommonUtils.Instance.DynamoDBContext;
try
{
patient.PatientId = 1;
await context.SaveAsync<Patient>(patient);
}
catch(Amazon.DynamoDBv2.Model.ConditionalCheckFailedException ex)
{
throw ex;
}
}
谁能给我个建议吗。
DynamoDBContext(相当于.NET SDK中的DynamoDBMapper(对ORM对象的版本属性(在您的情况下,即Patient类(以及DynamoDBOperationConfig中的任何其他内容进行条件设置。您无法捕获ConditionalCheckFailedException这一事实表明,您不会在同一患者身上同时进行写入。有关详细信息,请参阅此帖子。