1

테이블에서 일부 엔티티를 검색하려고합니다. 나는 성공적으로 문자열을 얻을 수 있지만 GUID를 얻으려고하면 빈 (모두 0)이 반환됩니다. 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 속성에 실제로 값이 저장되어있는 경우 다른 도구를 통해 확인한 것입니까?

+0

후속 조치에 대한 감사와 예, 했어요. Azure 관리 스튜디오를 사용했고 해당 열에서 유효한 GUID를 볼 수 있습니다. –

+0

해당 열은 GUID 유형입니까? 나는 그것이 문자열 타입이라고 생각한다 ... –

+0

Azure Management 스튜디오에서 테이블을 보았을 때, 타입이 GUID 인 것을 볼 수있다. 이견있는 사람? –

1

@RotemVaron, 당신은 EntityProperty 값을 입력하는 속성 이름을 매핑 지정된 IDictionary<TKey, TValue>를 사용하여 개체를 직렬화 해제하는 기능 TableEntity.ReadEntity Method (IDictionary<String, EntityProperty>, OperationContext)을 사용할 수 있습니다. 그런 다음 EntityProperty 개체에서 Guid 값을 가져옵니다.

blog은 엔티티에서 GuidValue을 포함하는 샘플 Reading existing entities을 보여줍니다.

+0

이 문제에 대해 제로가되었습니다. 특히, EntityProperty.GuidValue –

관련 문제