将SQL Server视图保存到Dynamics AX AOT

将SQL Server视图保存到Dynamics AX AOT,sql,sql-server,view,axapta,dynamics-ax-2012,ddl,Sql,Sql Server,View,Axapta,Dynamics Ax 2012,Ddl,我发现在SQLServerManagementStudio中编写视图比在AOT中创建视图有很大的优势。然而,似乎 在SQL Server中创建的视图无法从X++代码访问,并且不会显示在AOT中。 可以从X++代码访问在AOT中创建然后在SQL Server Management studio中修改的视图,但在重新编译或同步AOT视图时会被覆盖。 有办法解决这个问题吗?理想情况下,SQL视图可以重新设计以保存在AOT中,但这似乎是不可能的 我们对视图的需求无法在AOT中设计 我们的变通方法: AO

我发现在SQLServerManagementStudio中编写视图比在AOT中创建视图有很大的优势。然而,似乎

在SQL Server中创建的视图无法从X++代码访问,并且不会显示在AOT中。 可以从X++代码访问在AOT中创建然后在SQL Server Management studio中修改的视图,但在重新编译或同步AOT视图时会被覆盖。
有办法解决这个问题吗?理想情况下,SQL视图可以重新设计以保存在AOT中,但这似乎是不可能的

我们对视图的需求无法在AOT中设计

我们的变通方法:

AOT中的设计视图,仅包含字段和具有适当EDT的计算列-只需添加任何主表 使用SSMS中的SQL DDL创建静态服务器视图方法,并使用 在DB Synchonize调用此静态方法
您可以在X++中更改同步过程以避免这种情况,但不建议这样做。例如,手动创建或修改的视图存在避免AOT安全的高风险。万一您有严重的性能问题,这是值得冒险的


同步过程始终是AOT->SQL,因此设计过程可能会考虑到这一点。

如果我们使用Statement.executeQuery,他们是否需要将任何版本的视图保存在AOT中?因为该视图在任何X++代码中都不会被引用?您是否需要在AX中使用此视图?如果你在AX中需要这个,那么你必须AOT。如果只有外部应用程序将直接在数据库上使用此视图,那么您不需要在AOT中使用此视图-仅在DB Synchronyze自动创建。抱歉,我误解了您的答案。我以为你建议从我想访问视图的任何地方调用Statement.executeQuery。很明显,这不是你的建议。谢谢你的建议,最后我们修改了我们的要求以避免这样做。