小编Ada*_*all的帖子

Cosmos DB SQL API-如何查询使用保留字的字段名称

我正在尝试查询一些文档的集合,其中某些字段之一恰好被命名为“ top”。但是,我不能在select语句中直接引用此列,因为名称与TOP关键字冲突。例如:

SELECT C.code, C.top FROM c
Run Code Online (Sandbox Code Playgroud)

这将引发以下错误-“语法错误,'top'附近的语法不正确”。

我可以做些什么来转义该字段名称,还是必须将该字段重命名为其他名称?

azure azure-cosmosdb azure-cosmosdb-sqlapi

1
推荐指数
1
解决办法
680
查看次数

如何将两个任务集合链接在一起?

我正在尝试运行一系列任务,然后一旦完成,就运行一个单独的任务集合.实质上,第一个任务集合负责写入某些数据库表,最终的任务集合将这些表中的数据整理到报告表中.

我正在使用的代码示例如下:

var dbWriteTasks = clients.Select(c => DoSomeWorkAsync(c)).ToArray();
var dbCollateTasks = clients.Select(c => DoSomeOtherWorkAsync(c));

Task.Factory.ContinueWhenAll(dbWriteTasks, t => dbCollateTasks.ToArray());
Run Code Online (Sandbox Code Playgroud)

这是成功运行第一组任务,但没有运行任何第二组任务,所以我显然做错了.

我也试过这个无济于事:

var dbWriteTasks = clients.Select(c => DoSomeWorkAsync(c)).ToArray();
var dbCollateTasks = clients.Select(c => DoSomeOtherWorkAsync(c)).ToArray();

Task.Factory.ContinueWhenAll(dbWriteTasks, t => dbCollateTasks);
Run Code Online (Sandbox Code Playgroud)

这会运行两组任务,但第二组在第一组任务完成插入之前开始运行并处理数据...

我还应该提一下,我已经尝试同步运行这两组任务,Task.WaitAll但这也没有用.我试图在Azure功能中执行所有这些操作,Task.WaitAll只是让它停止.

我对TPL比较陌生,所以任何建议都将不胜感激!

c# multithreading azure task-parallel-library azure-functions

0
推荐指数
1
解决办法
72
查看次数