我正在查詢表中的實體,更改它們,然後執行替換操作。 替換操作失敗,因爲etag上的etag屬性爲空。我檢查了,當我從CreateQuery()調用中獲得實體時,etag爲空,但當我執行Retrieve()時,它填充了。有沒有辦法手動獲取etag?無法在CreateQuery上獲取Azure TableEntity etag
IEnumerable<MyEntity> query = from e in serviceContext.CreateQuery<MyEntity>(tableName)
where e.Id == queryId
select e;
MyEntity entity = query.FirstOrDefault();
// Update the MyEntity object
var replaceOperation = TableOperation.Replace(entity);
MyCloudTableClient.GetTableReference(tableName).Execute(replaceOperation);
// Exception is thrown here that eTag value is null
在調用Replace之前,您是否考慮過將實體的ETag設置爲「*」(星號)?除非您有沒有提及的具體要求,否則您可以通過將表格操作設置爲星號來忽略該ETag。 – Nathan 2013-04-18 21:05:48