从“WindowsAzure.Storage”迁移时,我应该为 Azure 表使用什么包

Hem*_*era 9 c# azure nuget .net-core

我目前正在将使用 ASP.NET WebApi 为 .NET Fx 4.8 编写的项目迁移到 .NET 5.0。该项目大量使用WindowsAzure.Storage包来访问 Azure 存储帐户上的 BLOB、表和队列。该软件包已被弃用一段时间,说明它已被分成几个软件包。

对于队列和 Blob,我应该迁移到什么是非常清楚的。但关于 Azure Tables 似乎存在很多困惑。

无论如何:我发现Azure.Data.Tables的 API与WindowsAzure.Storage非常相似,我只需要在这里或那里做一些调整。

但我现在完全缺少的是QueryComparisonsTableQuery类。他们就这样走了吗?有替代品吗?

要迁移的代码示例如下:

var part1 = 
  TableQuery.GenerateFilterConditionForGuid(
    nameof(SomeEntity.Id),
    QueryComparisons.Equal,
    idValue));
var part2 = 
  TableQuery.GenerateFilterConditionForGuid(
    nameof(SomeEntity.Category)
    QueryComparisons.Equal,
    category));
return TableQuery.CombineFilters(part1, TableOperators.And, part2);
Run Code Online (Sandbox Code Playgroud)

Ian*_*emp -1

您可能应该进一步阅读该博客文章相关文档

查询表实体

TableClient 允许用户使用 OData 过滤器创建自定义查询。

string MyPK = "markers";
string MyRK = "id-001";
string filter = TableOdataFilter.Create($"PartitionKey eq {MyPK} or RowKey eq {MyRK}")

Pageable<TableEntity> entities = tableClient.Query<TableEntity>(filter: filter);

foreach (TableEntity entity in entities)
{
    Console.WriteLine($"{entity.GetString("Product")}: {entity.GetInteger("Count")}");
}
Run Code Online (Sandbox Code Playgroud)