1

テーブルからいくつかのエンティティを取得しようとしています。私は正常に文字列を取得することができましたが、GUIDを取得しようとすると、空(すべてゼロ)に戻ります。Azureテーブルストレージ - 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に関連していますか?

+0

guidを含むデータのサンプルを表示するために質問を編集してください(不適切なフォーマットの可能性がありますか?)。 –

答えて

3

GUIDプロパティを取得するために追加の操作は必要ありません。実際にそのテーブルのGUID propetiesに値が格納されている場合、他のツールでチェックされていますか?

+0

フォローアップに感謝し、はい、私はした。私はAzure管理スタジオを使用し、その列に有効なGUIDが表示されます –

+0

その列はGUIDタイプですか?私はそれが文字列型であると考えています... –

+0

Azure Managementスタジオでテーブルを見ることから、タイプがGUIDであることがわかります。何かご意見は? –

1

@RotemVaronの場合、TableEntity.ReadEntity Method (IDictionary<String, EntityProperty>, OperationContext)ファンクションを使用して、プロパティ名を型付きEntityProperty値にマップする指定されたIDictionary<TKey, TValue>を使用してエンティティを逆シリアル化できます。次に、EntityPropertyオブジェクトからGuid値を取得します。

blogは、プロパティをトラバースするサンプルReading existing entitiesがエンティティからGuidValueを含むことを示しています。

+0

ありがとうございます。それは私にこの問題をゼロに助けた。具体的には、EntityProperty.GuidValue –

関連する問題