Azure Table Storage 用の新しいストレージ クライアント ライブラリの使用に移行しています。
以前のストレージ クライアント ライブラリ 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 はよりクリーンで、厳密に型指定されたエンティティを使用し、IQueryable インターフェイスを実装し、LINQ の全機能を利用しています。バージョン 2.0 では、ADO.NET データセットを再び使用しているように感じます。
ここでプロットを完全に見逃していますか?パフォーマンスが大幅に向上したことは理解していますが、バージョン 2.0 が API としてのダウングレードのように感じるのはなぜですか?