从IQueryable到TableQuery

时间:2015-06-05 08:37:26

标签: .net vb.net linq azure-storage

使用Azure Storage 4.3.0并使用CloudTable.ExecuteQuerySegmentedAsync (TableQuery, TableContinuationToken)我需要在TableQuery中转换LinQ谓词过滤条件,我该怎么做?

在VB.NET中

Dim q = MyTable.CreateQuery(Of MyEntity).Where(Function(e) e.PartitionKey = "MyPK")
'Where do I go from here to use ExecuteQuerySegmentedAsync?

1 个答案:

答案 0 :(得分:4)

没关系,在Microsoft.WindowsAzure.Storage.Table.Queryable命名空间中我找到了答案,IQueryable.AsTableQuery:

Imports Microsoft.WindowsAzure.Storage.Table.Queryable

[...]

Dim q = MyTable.CreateQuery(Of MyEntity).Where(Function(e) e.PartitionKey = "MyPK")

Dim qQueryable = q.AsQueryable

' And then I will properly loop on this
mySegToken = Await MyTable.ExecuteQuerySegmentedAsync(qQueryable.AsTableQuery, mySegToken)