DynamoDB .NET 映射 SDK 不會將空列表保留到表中。實際上,這意味著從列表中刪除最后一次并嘗試將項目保存到表中將導致屬性不變(仍然有最后一個項目)。如何將屬性正確更新為空列表?這是映射類的相關部分:[DynamoDBTable("x.y.groups")]public class Group : GroupListItem{ public List<string> tokens { get; set; }}這是更新該字段的代碼:group.tokens = group.accounts.Select(a => a.token).ToList();await Context.SaveAsync(group);如果 group.accounts 為空(刪除了最后一項),事件雖然 group.tokens 是一個空列表,但 DynamoDB 表中的屬性將不會更新,并且列表中仍然有一個項目。
1 回答

慕蓋茨4494581
TA貢獻1850條經驗 獲得超11個贊
這似乎是映射 SDK 中的一個錯誤。為了解決這個錯誤,我在下面添加了 if 語句:
group.tokens = group.accounts.Select(a => a.token).ToList();
if (group.tokens.Count == 0) group.tokens = null;
await Context.SaveAsync(group);
這將導致刪除列表屬性,并在從表中讀取項目時映射到空列表。
- 1 回答
- 0 關注
- 197 瀏覽
添加回答
舉報
0/150
提交
取消