Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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
                 .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?

share|improve this question
up vote 0 down vote accepted

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.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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