use*_*392 0 linq azure nosql azure-cosmosdb
在 Cosmos DB v3 中,我得到了一个IOrderedQueryable<T>using GetItemLinqQueryable<T>. 这允许我编写自定义查询。问题是我想在查询实现时跟踪请求费用。如何才能做到这一点?
当我执行像ReadItemAsyncand之类的方法时ExecuteStoredProcedureAsync,返回的对象有一个RequestCharge属性,但我需要使用 linq 查询检测费用。
您可以ToFeedIterator在您的IOrderedQueryable.
using Microsoft.Azure.Cosmos.Linq;
var query = container.GetItemLinqQueryable<MyClass>()
.Where(c => true)
.ToFeedIterator();
while (query.HasMoreResults)
{
var response = await query.ReadNextAsync();
Console.WriteLine(response.RequestCharge);
foreach (var myClassInstance in response)
{
// do stuff
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:如果您需要计数或任何聚合函数:
var query = container.GetItemLinqQueryable<MyClass>()
.Where(c => true);
Response<int> x = await query.CountAsync();
Console.WriteLine(x.RequestCharge);
int count = x; // Autoboxing
Run Code Online (Sandbox Code Playgroud)
您可以在GitHub上找到可用扩展函数的完整列表。
| 归档时间: |
|
| 查看次数: |
926 次 |
| 最近记录: |