1

I am migrating to using the new Storage Client Library for my Azure Table Storage.

Querying with the previous Storage Client Library 1.7 namespace:

var orders = serviceContext
                 .CreateQuery<Order>(tableName)
                 .AsTableServiceQuery<Order>()
                 .Where(e => e.PartitionKey == partitionKey && e.RowKey == rowKey)

Querying with the new Storage Client Library 2.0 classes:

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);

Please correct me if I'm wrong, but 1.7 is cleaner, uses strongly-typed entities, implements the IQueryable interface and utilizes the full power of LINQ. Version 2.0 makes me feel like I'm working with ADO.NET Datasets again.

Am I completely missing the plot here? I understand that there have been major performance improvements, but version 2.0 feels like a downgrade of an API.

Why isn't there a IQueryable<T> interface for 2.0?

0

Asked the same question on Stackoverflow:

Storage Client Library 2.0 - Why is the API not as intuitive to use as 1.7?

See the above link for answer.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.