AOT 查询可以引用一个 TempDB table 作为数据源

AOT query can reference a TempDB table as a data source

我们使用 AX 2012 R3。

Temporary TempDB Tables [AX 2012] 声明 AOT > Queries 下的查询可以引用 TempDB table作为数据源。
我的问题:AOT 查询如何读取写入作为 TempDB 的数据源的记录table?

我遇到的问题是 AOT 查询似乎无法从我的 TempDB table 数据源中读取任何记录:

我在 AOT 下定义了一个 TempDB table,我还创建了一个引用此 TempDB table 作为数据源的 AOT 查询。
我写了一个方法来填充 TempDB table 然后我写了一个 while queryRun 循环,用上面提到的 AOT 查询对象传递。然而,循环体从来不是 运行。
我已确保代码编写正确:如果我将 TempDB table 更改为 Regular table,则会进入循环体并正确生成结果。

(或者,我写了一个 while select 而不是 AOT 查询的 queryRunwhile select 循环生成正确的结果,不管加入的 table 是 TempDB 或 Regular。但是 ,我想允许添加其他范围。while select 循环似乎无法做到这一点。所以,我使用 while queryRun在一些 SysQuery::findOrCreateRange.)

之后循环

上面的 link 还指出 TempDB table 仅存在于实例化它的方法范围内 。 TempDB table 的填写和我写的循环是用同样的方法完成的。但是,因为我从来没有实例化一个 table,所以 实例化它是什么意思(一个 TempDB table)

EDITs: 1)我也尝试在while queryRun循环之后写一些代码来查看TempDB table中是否有记录,并发现记录仍然存在于 TempDB table 中。 2) 澄清一下,一个 while queryRun 循环意味着下面的

QueryRun queryRun = new QueryRun(query);
while(queryRun.next()){...}

上面queryRun实例化中的query是一个AOT查询对象

填写 TempDb table 后,您需要通过 queryRun.setRecord([TempDb Table])

将其传递给查询

然后while(queryRun.next()){...}