You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取Cosmos DB LINQ查询示例所需的object类型IQueryable?

Cosmos DB 无类型IQueryable<object>获取方法

前置准备

首先安装Cosmos DB官方NuGet包:
Install-Package Microsoft.Azure.Cosmos

具体操作步骤

  • 第一步:初始化CosmosClient与对应容器实例
using Microsoft.Azure.Cosmos;
using Microsoft.Azure.Cosmos.Linq;

// 初始化客户端
var cosmosClient = new CosmosClient("你的Cosmos DB连接字符串");
// 绑定目标数据库
var database = cosmosClient.GetDatabase("你的数据库名称");
// 绑定目标数据容器
var container = database.GetContainer("你的容器名称");
  • 第二步:调用容器的扩展方法获取IQueryable<object>对象
    直接将GetItemLinqQueryable的泛型参数指定为object即可得到示例中的input对象:
IQueryable<object> input = container.GetItemLinqQueryable<object>();

// 可直接运行文档中的示例查询
var familyNameQuery = input.Select(family => family.parents[0].familyName);

注意事项

  • 必须引入Microsoft.Azure.Cosmos.Linq命名空间,否则无法识别GetItemLinqQueryable扩展方法
  • 如果有提前定义的容器数据实体类,建议将泛型参数替换为对应实体类型,得到IQueryable<你的实体类>,可以获得编译期类型检查,降低运行时报错概率
  • 构造完成的LINQ查询需要调用ToFeedIterator方法执行才能拿到实际结果,示例代码如下:
using var feedIterator = familyNameQuery.ToFeedIterator();
while (feedIterator.HasMoreResults)
{
    var currentPage = await feedIterator.ReadNextAsync();
    foreach (var familyName in currentPage)
    {
        // 处理查询到的结果
        Console.WriteLine(familyName);
    }
}

内容的提问来源于stack exchange,提问作者jhon.smith

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 19:45:02