Azure Table Storage のエントリを更新しようとしています。機能は次のとおりです。
public void SaveBug(DaBug bug)
{
bug.PartitionKey = "bugs";
bug.Timestamp = DateTime.UtcNow;
if (bug.RowKey == null || bug.RowKey == string.Empty)
{
bug.RowKey = Guid.NewGuid().ToString();
_context.AddObject(c_TableName, bug);
}
else
{
_context.AttachTo(c_TableName, bug);
_context.UpdateObject(bug);
}
_context.SaveChanges();
}
新しいエントリ ("bug.RowKey == null" パス) の場合、問題なく動作します。それが既存のエンティティへの更新である場合、「AttachTo」と「UpdateObject」呼び出しは機能しますが、「SaveChanges」に到達すると、「要求入力の 1 つが無効です」という例外がスローされます。
格納されているクラスは次のとおりです。
[DataContract]
[DataServiceKey("RowKey")]
public class DaBug
{
[DataMember]
public bool IsOpen { get; set; }
[DataMember]
public string Title { get; set; }
[DataMember]
public string Description { get; set; }
[DataMember]
public string SubmittedBy { get; set; }
[DataMember]
public DateTime SubmittedDate { get; set; }
[DataMember]
public string RowKey { get; set; }
public DateTime Timestamp { get; set; }
public string PartitionKey { get; set; }
}
誰が問題が何であるか知っていますか?
助けてくれてありがとう。