我遇到了一个真正令人困惑的情况,我希望能得到一些帮助。这段代码:
TableOperation retrieveOperation = TableOperation.Retrieve<T>(partitionKey, rowKey);
TableResult result = await table.ExecuteAsync(retrieveOperation);
T obj = result.Result as T;
问题出在分区键上,格式为“Post:UID”,例如:Post:f45ff69958e14342970a6ea88e7a009f
. 插入和检索数据很好,但让我抓狂的是,当我在检索对象后检查它时,PartitionKey 的“Post:”部分已从对象数据中剥离。创建的对象中的分区键只是f45ff69958e14342970a6ea88e7a009f
. 这意味着如果我对对象进行更改并尝试执行 -InsertOrReplace
操作,它将仅使用冒号后面的部分创建新记录。我终其一生都无法理解这是怎么发生的。
我曾尝试在 Google 上搜索分区键中的非法字符,但找不到任何关于冒号是非法字符的信息,如果这是一个常见问题解答,请见谅。
对此的任何帮助将不胜感激。