1

我正在尝试从表中检索一些实体。我成功地能够取回字符串,但是当我尝试获取 GUID 时,它返回为空(全为零)。

[DataContract]
public class myEntity : TableEntity
{
    [DataMember(Name = "ID")]
    public Guid Id { get; set; }

    [DataMember(Name = "Name")]
    public string Name { get; set; }

    [DataMember(Name = "City")]
    public string City { get; set; }

}

...

var storageAccount = CloudStorageAccount.Parse(conStr);
var tableClient = storageAccount.CreateCloudTableClient();
var table = tableClient.GetTableReference(tblName);
TableQuery<myEntity> query = new TableQuery<myEntity>().Where(string.Empty);

如何在表存储中获取正确的 GUID 值?它与 TableEntity.ReadEntity 相关吗?

4

2 回答 2

4

我认为获取 GUID 属性不需要任何额外的操作。如果该表的 GUID 属性中确实存储了值,您是否通过其他工具进行了交叉检查?

于 2016-07-16T00:32:18.063 回答
1

@RotemVaron,您可以使用该函数使用将属性名称映射到类型值TableEntity.ReadEntity Method (IDictionary<String, EntityProperty>, OperationContext)的指定来反序列化实体。然后,从 EntityProperty 对象中获取 Guid 值。IDictionary<TKey, TValue>EntityProperty

有一个博客显示了从实体Reading existing entities中遍历属性的示例。GuidValue

于 2016-07-18T10:45:59.730 回答