Fix TransactWrite<T>.AddSaveItem when T does NOT contain DynamoDbProperty Attributes #3614
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
fix: Fixed an issue where TransactWrite.AddSaveItem throws when T does NOT contain DynamoDbProperty Attributes
given that T does not contain any DynamoDbProperty, in order to use TransactWriteItem API to save the entity, it will require to perform PutItem operation instead of an UpdateItem operation.
Motivation and Context
Issue #3095
Testing
Tested locally using below code:
[Fact]
public async Task GivenCreateMultiTableTransactWrite_WhenAddSaveItem_ShouldSucceed()
{
DynamoDBOperationConfig TransactionDynamoDbOperationConfig = new DynamoDBOperationConfig()
{
SkipVersionCheck = true,
ConditionalOperator = ConditionalOperatorValues.And
};
}
[DynamoDBTable("Table1")]
public class Table1
{
[DynamoDBHashKey("Id")]
public string Id { get; set; } = string.Empty;
}
[DynamoDBTable("Table2")]
public class Table2
{
[DynamoDBHashKey("Id")]
public string Id { get; set; } = string.Empty;
}
Screenshots (if appropriate)
Types of changes
Checklist
License