標籤:
在使用 Windows Azure Table Storage 的 CloudTableClient 對Azure 進行資料查詢時,會發現在自訂類的Guid類型始終無法去成功查詢出資料,對比發現 Guid 值是一致的,最初代碼如下:
public UserEntity GetUserByToken(string token) { var table = AzureTableContext.CloudTableClientContext.GetTableReference(UserEntity.TableName); var query = new TableQuery<UserEntity>() .Where(TableQuery.GenerateFilterCondition( "Token", QueryComparisons.Equal, token)); return table.ExecuteQuery(query).FirstOrDefault(); }
修改 TableQuery.GenerateFilterCondition 為 TableQuery.GenerateFilterConditionForGuid,修改後代碼如下:
public UserEntity GetUserByToken(string token) { var table = AzureTableContext.CloudTableClientContext.GetTableReference(UserEntity.TableName); var query = new TableQuery<UserEntity>() .Where(TableQuery.GenerateFilterConditionForGuid( "Token", QueryComparisons.Equal, Guid.Parse(token))); return table.ExecuteQuery(query).FirstOrDefault(); }
最終得以通過Guid查詢資料
Windows Azure Table Storage 解決 Guid 查詢問題