你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

CosmosContainer.GetItemQueryIterator 方法

定义

重载

GetItemQueryIterator<T>(QueryDefinition, String, QueryRequestOptions, CancellationToken)

此方法使用具有参数化值的 SQL 语句为 Azure Cosmos 数据库中容器下的项创建查询。 它返回 FeedIterator。 有关使用参数化值准备 SQL 语句的详细信息,请参阅 QueryDefinition

GetItemQueryIterator<T>(String, String, QueryRequestOptions, CancellationToken)

此方法使用具有参数化值的 SQL 语句为 Azure Cosmos 数据库中容器下的项创建查询。 它返回 FeedIterator。 有关使用参数化值准备 SQL 语句的详细信息,请参阅 QueryDefinition

GetItemQueryIterator<T>(QueryDefinition, String, QueryRequestOptions, CancellationToken)

此方法使用具有参数化值的 SQL 语句为 Azure Cosmos 数据库中容器下的项创建查询。 它返回 FeedIterator。 有关使用参数化值准备 SQL 语句的详细信息,请参阅 QueryDefinition

public abstract Azure.AsyncPageable<T> GetItemQueryIterator<T> (Azure.Cosmos.QueryDefinition queryDefinition, string continuationToken = default, Azure.Cosmos.QueryRequestOptions requestOptions = default, System.Threading.CancellationToken cancellationToken = default);
abstract member GetItemQueryIterator : Azure.Cosmos.QueryDefinition * string * Azure.Cosmos.QueryRequestOptions * System.Threading.CancellationToken -> Azure.AsyncPageable<'T>
Public MustOverride Function GetItemQueryIterator(Of T) (queryDefinition As QueryDefinition, Optional continuationToken As String = Nothing, Optional requestOptions As QueryRequestOptions = Nothing, Optional cancellationToken As CancellationToken = Nothing) As AsyncPageable(Of T)

类型参数

T

参数

queryDefinition
QueryDefinition

cosmos SQL 查询定义。

continuationToken
String

(可选) Azure Cosmos DB 服务中的延续令牌。

requestOptions
QueryRequestOptions

(可选) 项查询请求的选项 QueryRequestOptions

cancellationToken
CancellationToken

(表示请求取消的可选) CancellationToken

返回

用于遍历项的迭代器。

示例

创建查询以获取成本超过 9000 的所有 ToDoActivity

public class ToDoActivity{
    public string id {get; set;}
    public string status {get; set;}
    public int cost {get; set;}
}

QueryDefinition queryDefinition = new QueryDefinition("select * from ToDos t where t.cost > @expensive")
    .WithParameter("@expensive", 9000);
await foreach(ToDoActivity item in this.Container.GetItemQueryIterator<ToDoActivity>(
    queryDefinition,
    null,
    new QueryRequestOptions() { PartitionKey = new PartitionKey("Error")}))
{
        Console.WriteLine(item.cost);
}

适用于

GetItemQueryIterator<T>(String, String, QueryRequestOptions, CancellationToken)

此方法使用具有参数化值的 SQL 语句为 Azure Cosmos 数据库中容器下的项创建查询。 它返回 FeedIterator。 有关使用参数化值准备 SQL 语句的详细信息,请参阅 QueryDefinition

public abstract Azure.AsyncPageable<T> GetItemQueryIterator<T> (string queryText = default, string continuationToken = default, Azure.Cosmos.QueryRequestOptions requestOptions = default, System.Threading.CancellationToken cancellationToken = default);
abstract member GetItemQueryIterator : string * string * Azure.Cosmos.QueryRequestOptions * System.Threading.CancellationToken -> Azure.AsyncPageable<'T>
Public MustOverride Function GetItemQueryIterator(Of T) (Optional queryText As String = Nothing, Optional continuationToken As String = Nothing, Optional requestOptions As QueryRequestOptions = Nothing, Optional cancellationToken As CancellationToken = Nothing) As AsyncPageable(Of T)

类型参数

T

参数

queryText
String

cosmos SQL 查询文本。

continuationToken
String

(可选) Azure Cosmos DB 服务中的延续令牌。

requestOptions
QueryRequestOptions

(可选) 项查询请求的选项 QueryRequestOptions

cancellationToken
CancellationToken

(表示请求取消的可选) CancellationToken

返回

用于遍历项的迭代器。

示例

  1. 创建查询以获取成本超过 9000 的所有 ToDoActivity
public class ToDoActivity{
    public string id {get; set;}
    public string status {get; set;}
    public int cost {get; set;}
}

await foreach(ToDoActivity item in this.Container.GetItemQueryIterator<ToDoActivity>(
    "select * from ToDos t where t.cost > 9000",
    null,
    new QueryRequestOptions() { PartitionKey = new PartitionKey("Error")}))
{
        Console.WriteLine(item.cost);
}
  1. 创建 FeedIterator 以获取所有 ToDoActivity。
public class ToDoActivity{
    public string id {get; set;}
    public string status {get; set;}
    public int cost {get; set;}
}

await foreach(ToDoActivity item in this.Container.GetItemQueryIterator<ToDoActivity>(
    null,
    null,
    new QueryRequestOptions() { PartitionKey = new PartitionKey("Error")}))
{
        Console.WriteLine(item.cost);
}

适用于