C# 如何使用Microsoft.Azure.Cosmos v3.9.1从CosmosDb读取单个项目

C# 如何使用Microsoft.Azure.Cosmos v3.9.1从CosmosDb读取单个项目,c#,azure-cosmosdb,C#,Azure Cosmosdb,我是第一次使用CosmosDB,根据以下文档,我试图通过id读取单个文档: 根据本文档,我的容器对象应该有一个readitemsync方法,我可以使用该方法查找和读取单个项。但是,当我将“Microsoft.Azure.Cosmos”nuget包导入到我的项目并尝试使用此代码段时,容器上没有用于readitemsync的函数。以下是我的代码片段: using Microsoft.Azure.Cosmos; ... var databaseId = "{datab

我是第一次使用CosmosDB,根据以下文档,我试图通过id读取单个文档:

根据本文档,我的容器对象应该有一个
readitemsync
方法,我可以使用该方法查找和读取单个项。但是,当我将“Microsoft.Azure.Cosmos”nuget包导入到我的项目并尝试使用此代码段时,容器上没有用于
readitemsync
的函数。以下是我的代码片段:

    using Microsoft.Azure.Cosmos;
        ...
    var databaseId = "{databaseId}";
    var containerId = "{containerId}";
    var client = new CosmosClient(model.IndexDatabaseUri, model.IndexDatabasePrimaryKey);
    var database = client.GetDatabase(databaseId);
    var container = database.GetContainer(containerId);
    var call = container... // NO ReadItemAsync HERE
我确实在容器上看到了这些功能:

    GetItemLinqQueryable
    GetItemQueryIterator
    GetItemQueryStreamIterator
从外观上看,我可能可以创建一个带有自定义
SELECT
语句的查询迭代器,并检索迭代器中的第一项。但对于我想做的事情来说,这似乎有些过头了。在这种情况下,我始终只需要一个项目。为什么这里没有
readitemsync
方法,而文档中显示应该有一个?而且,如果“迭代器”是新的首选方法,那么在使用QueryIterator与检索单个文档时,是否有任何性能考虑因素?此功能将在一天内运行数百万次


p、 我使用的是“Microsoft.Azure.Cosmos”nuget package v3.9.1

如果您正在阅读一个项目,并且您知道
id
和分区键,那么这是读取信息的最快和最便宜的方式(以RU/s计算)。使用带有
id
WHERE
子句进行查询会更加昂贵

我刚刚用3.9.1创建了一个NetCore控制台应用程序,方法就在那里,您所指的文档是根据Nuget包中的DLL自动生成的


嗯,它现在就在那里。我不知道我以前是怎么错过的。也许我在使用数据库对象,但没有意识到这一点。谢谢