1

Ich versuche, einige Entitäten aus einer Tabelle abzurufen. Ich bin erfolgreich in der Lage, Zeichenfolgen zurück zu bekommen, aber wenn ich versuche, GUID zu bekommen, kommt es zurück leer (alle Nullen).Azure-Tabellenspeicher - GUID kommt leer zurück

[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); 

Wie bekomme ich den richtigen Wert von GUIDs in Tabellenspeicher? Handelt es sich um TableEntity.ReadEntity?

+0

Bitte bearbeiten Sie Ihre Frage, um ein Beispiel Ihrer Daten anzuzeigen, einschließlich GUID (vielleicht ist es nicht richtig formatiert?). –

Antwort

3

Ich glaube nicht, dass zusätzliche Operationen erforderlich sind, um GUID-Eigenschaften zu erhalten. Haben Sie andere Tools überprüft, wenn tatsächlich Werte in den GUID-Eigenschaften dieser Tabelle gespeichert sind?

+0

danke für das Follow-up und ja, ich habe. Ich habe Azure Management Studio verwendet und kann gültige GUIDs in dieser Spalte sehen. –

+0

Ist diese Spalte im GUID-Typ? Ich vermute, es ist in String-Typ ... –

+0

von der Tabelle mit Azure Management Studio, sehe ich den Typ ist GUID. Irgendwelche Gedanken? –

1

@RotemVaron, Sie können die Funktion TableEntity.ReadEntity Method (IDictionary<String, EntityProperty>, OperationContext) verwenden, um die Entität mit der angegebenen IDictionary<TKey, TValue> zu deserialisieren, die Eigenschaftsnamen auf typisierte EntityProperty Werte abbildet. Dann wird der Guid-Wert vom EntityProperty-Objekt abgerufen.

Es gibt eine blog zeigt das Beispiel Reading existing entities, die die Eigenschaften durchlaufen GuidValue von Entität.

+0

danke für das Follow-up. Es hat mir geholfen, dieses Problem zu lösen. Insbesondere EntityProperty.GuidValue –