我有一个用户表,它有一个名为“PictureUri”的字符串类型的属性。默认情况下它为空,然后我将它更新为一些文本。稍后,如果我尝试再次将其更新为 null,则不会发生。更新成功,但字符串属性未更改为 null。我可以将相同的属性更新为其他文本,但不能为空。
天蓝色表存储是否不允许我将属性更新为空?
这是一个示例代码:
模型:
public class User
{
public string PictureUri{ get; set; }
public string Email { get; set; }
public string Username { get; set; }
}
[System.Data.Services.Common.DataServiceKey(new string[] { "PartitionKey", "RowKey" })]
public class PersistedUser : User,ITableEntity
{
public string PartitionKey
{
get { return this.Email; }
set { this.Email = value; }
}
public string RowKey
{
get { return this.Username; }
set { this.Username = value; }
}
public DateTime Timestamp { get; set; }
}
更新 API
user.PictureUri = null;
tableServiceContext.AttachTo(TableNames.User, user);
tableServiceContext.Update(user);
tableServiceContext.SaveChanges(System.Data.Services.Client.SaveChangesOptions.ReplaceOnUpdate);
var tempUser = this.tableServiceContext.QueryableEntities.Where(u => u.RowKey.Equals(user.Username, StringComparison.OrdinalIgnoreCase)).FirstOrDefault();
tableServiceContext.Detach(user);
编辑:
使用 SaveChangesOptions.ReplaceOnUpdate 更新表中的值,但是当我尝试查询它时,它返回旧数据。知道问题可能是什么吗?