0

我的天蓝色存储表的行键设置为 GUID。我无法在实体中查询某些特定的 GUID,或者它可能是随机发生的。但是对于某些 GUID 的查询数量,我进行的查询,它不返回实体,但我可以清楚地看到表中的记录。我不知道为什么会这样。可能是因为我使用不同的数据服务上下文来创建实体并使用 GUID 获取实体。下面是简单的代码片段。

TableStorageServiceContext<PersistedAudioRecord> audioRecordServiceContext;
audioRecordServiceContext = new TableStorageServiceContext<PersistedAudioRecord>(TableNames.AudioRecord, cloudStorageAccount.TableEndpoint.ToString(), cloudStorageAccount.Credentials) { IgnoreResourceNotFoundException = true };

return audioRecordServiceContext.QueryableEntities.Where(b => b.RowKey == id).FirstOrDefault();

我一直在努力解决这个问题,任何想法或建议都非常感谢。

谢谢

4

1 回答 1

2

我看到您正在使用 just 进行查询RowKey。这可能会导致全表扫描,并且表服务最多只会返回 1000 个实体/请求。如果表服务遇到 a Partition Boundary,它可能会返回 0 个实体。你能检查一下你什么时候没有得到数据,你得到的是一个延续令牌吗?您可以使用类似的工具进行检查Fiddler

于 2013-08-26T13:25:34.250 回答