2016-03-24 11 views
0

Gerçekten yardımcı olabileceğime inandığım gerçekten şaşırtıcı bir duruma düştüm. Bu kod: ": UID Post", örneğin: Post:f45ff69958e14342970a6ea88e7a009fAzure Tablo Depolama Bölümü Anahtarı'nda iki nokta üst üste getirme tuhaf sonuçlar verir

TableOperation retrieveOperation = TableOperation.Retrieve<T>(partitionKey, rowKey); 
TableResult result = await table.ExecuteAsync(retrieveOperation); 
T obj = result.Result as T; 

sorun formda olan bölüm anahtarı beraberdir. Verileri eklemek ve almak gayet iyi, ama beni çıldırtan şey şudur: Nesneyi aldıktan sonra incelediğimde, "Post:" - PartitionKey'in bir kısmı nesne verisinden çıkarıldı. Oluşturulan nesnede bölüm anahtarı sadece f45ff69958e14342970a6ea88e7a009f. Bu, nesnede değişiklikler yapar ve bir InsertOrReplace iş birliği yapmaya çalışırsam, kolondan sonraki bölümle yeni bir kayıt yapacağı anlamına gelir. Hayatımın bunun için nasıl olabileceğini anlayamıyorum.

Bölümleme anahtarlarında yasa dışı karakterler için Google'ı denedim, ancak kolonun geçersiz bir karakter olmasıyla ilgili hiçbir şey bulamadım.

Bu konuda herhangi bir yardım çok takdir edilecektir.

+0

Belki de sadece PartitionKey kodlamalısınız? PartitionKey ve RowKey'in bazı yasadışı karakterleri var ama daha önce o listede bulunan kolonun sesini duymadım. Üzgünüm, daha fazla yardımcı olamayacağım. –

cevap

0

Kolon, bölüm anahtarı için geçersiz bir karakter değil. Kısıtlı karakterler hakkında daha fazla bilgi için, this sayfasındaki "Anahtar Alanlara İzin Verilmeyen Karakterler" bölümüne bakın.

Yukarıdaki kod parçacıklarına dayanarak, aynı uzunluktaki ve aynı "İleti:" öneki GUID'lerini oluşturan ve bu sorunu yeniden oluşturmayan bir döngü oluşturdum. Sorun devam ederse, lütfen sorunu çoğaltmak için gereken kod bölümünün tamamını gönderin.

İlgili konular