PazoozaTest Pazman
PazoozaTest Pazman

Reputation: 749

More Problems with Windows Azure Storage

I am having a problem reading back from windows azure table storage:

Here is the code that I use to retrieve the UserEntity from table storage:

TableServiceContext tableServiceContext = new TableServiceContext(storageAccount.TableEndpoint.AbsoluteUri, storageAccount.Credentials);
tableServiceContext.RetryPolicy = RetryPolicies.Retry(3, TimeSpan.FromSeconds(1));
user = (from g in tableServiceContext.CreateQuery<UserEntity>(PazoozaEnums.PazoozaTables.UsersUserFacebookActions.ToString())
        where g.PartitionKey.Equals(FacebookUserID) && g.Kind.Equals(PazoozaEnums.TableKinds.User.ToString())
        select g).AsTableServiceQuery().Execute().FirstOrDefault();

Below is the user entity that is stored in table storage. Notice it actually has values for each property. However what is being returned are nulls instead. Or 1/1/0001 for the JoinDate field and 0 for integer or long fields. I check the RowKey and PartitionKey and these are correctly being returned as part of the entity but the rest are not. Anyone have any ideas, or run into this issue before where the partitionkey and rowkey are populated correctly but the rest of the fields are not? I am using nov 2011 azure sdk, c# mvc3 on a 32 bit machine.

AccessToken     String  AAADlql9ZBqlMBANM1J30d3cmnM6s1o5MojXyZBP5B3dXNkIweJRZA2fx73klxawRhUn9HZAqBC8Y22YZAtwlKolpep5b7ZCedYYSLmO79E5QZDZD
AlternativeName     String  
AlternativeProfileLink  String  
AlternativeSmallPicture     String  
AlternativeSmallPictureSquare   String  
EmailAddress    String  [email protected]
JoinDate    DateTime    2012-03-16T04:35:01.518053Z
Kind    String  User
Name    String  PazoozaTest Pazman
OfflineAccessToken  String  AAADlql9ZBqlMBANM1J30d3cmnM6s1o5MojXyZBP5B3dXNkIweJRZA2fx73klxawRhUn9HZAqBC8Y22YZAtwlKolpep5b7ZCedYYSLmO79E5QZDZD
PageAccessToken     String  
PageID  Int64   0
PageSize    Int32   50
ProfileLink     String  http://www.facebook.com/profile.php?id=100001771566047
SmallPicture    String  http://profile.ak.fbcdn.net/hprofile-ak-snc4/41541_100001771566047_2716161_s.jpg
SmallPictureSquare  String  http://profile.ak.fbcdn.net/hprofile-ak-snc4/41541_100001771566047_2716161_q.jpg
VideoPageSize   Int32   100

Here is my UserEntity class:

public class UserEntity : KindEntity, IUserEntity
{
    // PartitionKey = UserID
    // RowKey = (DateTime.MaxValue - DateTime.UtcNow).Ticks.ToString("d19") + Guid.NewGuid().ToString()

    public UserEntity() : this(null, null) { }
    public UserEntity(string partitionKey, string rowKey) : base(partitionKey, rowKey, PazoozaEnums.TableKinds.User.ToString()) { }

    public string Name { get; set; }
    public long PageID { get; set; }
    public int PageSize { get; set; }
    public int VideoPageSize { get; set; }
    public string EmailAddress { get; set; }
    public string AccessToken { get; set; }
    public string PageAccessToken { get; set; }
    public string OfflineAccessToken { get; set; }
    public string SmallPicture { get; set; }
    public string SmallPictureSquare { get; set; }
    public string ProfileLink { get; set; }
    public string AlternativeName { get; set; }
    public string AlternativeSmallPicture { get; set; }
    public string AlternativeSmallPictureSquare { get; set; }
    public string AlternativeProfileLink { get; set; }
    public DateTime JoinDate { get; set; }
}

Upvotes: 0

Views: 279

Answers (1)

hocho
hocho

Reputation: 1749

Given that you have not specified a RowKey in your query, it is possible that you have an existing “empty” row which is being returned instead of the row you are expecting.

Upvotes: 1

Related Questions