我正在遷移到爲我的Azure表存儲使用新的Storage Client Library。Storage Client Library 2.0 - 爲什麼API不如1.7那麼直觀?
與以前存儲客戶端庫1.7命名空間查詢:
var orders = serviceContext
.CreateQuery<Order>(tableName)
.AsTableServiceQuery<Order>()
.Where(e => e.PartitionKey == partitionKey && e.RowKey == rowKey)
新存儲客戶端庫2.0類查詢:
string partitionKeyFilter = TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, partitionKey);
string rowKeyFilter = TableQuery.GenerateFilterCondition("RowKey", QueryComparisons.Equal, rowKey);
string combinedFilter = TableQuery.CombineFilters(partitionKeyFilter, TableOperators.And, rowKeyFilter);
var query = new TableQuery<Order>().Where(combinedFilter);
var orders = table.ExecuteQuery<Order>(query);
如有指正我錯了,但1.7更乾淨,使用強類型的實體,impl喚醒IQueryable接口並利用LINQ的全部功能。 2.0版讓我覺得我再次使用ADO.NET數據集。
我完全錯過了這裏的陰謀嗎?我知道有很大的性能改進,但爲什麼版本2.0會覺得像API這樣的降級?
如果你願意與一個簡潔的界面替代的開源表存儲客戶端,在http://lucifurestash.codeplex.com檢查出我的項目/。還有一些附加功能,如陣列和大數據支持。 – hocho 2013-02-27 02:13:46
謝謝 - 會看看。 – davenewza 2013-02-27 09:25:18