1
例如,我在C#中有一個bool? Status
無法保存可空<bool>到Azure Table中時,其空
當Status = true/false
,它可以保存到Azure的表,沒有問題
但當Stats = null
,不能拯救(更新)到Azure表,該列仍然保留舊值
我想這可能是因爲Azure表沒有方案,但最新的解決方案是什麼?
如何保存一個null到覆蓋的原始值?
EDIT,代碼
數據是這樣的:
public class someEntity : TableServiceEntity
{
public bool? Status { get; set; }
}
更新這樣的:
tableContext.AttachTo("sometable", someEntity);
tableContext.UpdateObject(someEntity);
tableContext.SaveChangesWithRetries(SaveChangesOptions.Batch & SaveChangesOptions.ReplaceOnUpdate);
(我試圖AttachTo
與"*"
如ETAG,試圖除去SaveChangesOptions
,既不工作)
對不起我的愚蠢,應該是這個代碼,然後工作
tableContext.SaveChangesWithRetries(SaveChangesOptions.Batch | SaveChangesOptions.ReplaceOnUpdate);
是在數據庫領域允許爲空? – f2lollpll 2012-01-16 07:09:46
我相信是的,如果初始值爲空,那麼你仍然可以保存。但是,一旦你保存爲真/假,你永遠不能再回到空。 – 2012-01-16 07:13:59
你可以發佈你的代碼嗎?這很可能是Nullable默認值爲空的問題,並且API不考慮缺省值而沒有顯式更新/上標記標誌。 –
lukiffer
2012-01-16 07:31:00