oData客户端限制类

问题描述 投票:0回答:2

我目前正在与Dynamics AX 7一起测试oData客户端。来自AX的元数据文件超过900'000行,如果我使用默认的oData客户端并自动生成C#类文件,它将无法构建,因为太多字符串文字(.net错误)。

现在我正在寻找一种方法来告诉客户端生成器生成哪些类(例如按实体名称),哪些不生成(客户端不需要大约95%)。

遗憾的是,限制AX端的元数据不是一种选择。

odata axapta dynamics-ax7 d3fo
2个回答
1
投票

我们遇到了类似的问题,我们不得不修改ODATA服务中可用的$metadata信息。在我们的例子中,我们使用DataServiceContext生成器并指向原始服务器URI,但使用Fiddler作为代理。通过在Fiddler中使用断点,我们可以将修改后的$metadata xml提供给Visual Studio中的DataServiceContext生成器。当你谨慎使用并且API稳定时,可以正常工作。


1
投票

是的,使用VS2015将解决您的“太多字符串”错误,但如果您打开在调试时生成或意外插入oData客户端文件的巨大文件,Visual Studio 2015将崩溃仍然存在问题。

为了解决这个问题,我编辑了自动生成oData客户端类的T4模板,以便创建多个文件,因此最终不会有一个巨大的100万行文件。使用更新的T4模板,它将生成相同的代码,但每5MB将拆分为一个新文件。

更新的T4模板可以在这里找到:https://github.com/batetech/D365FO-oData-T4-MultiFile-Templates

© www.soinside.com 2019 - 2024. All rights reserved.