oData客户端限制类

时间:2017-02-15 01:00:50

标签: odata axapta dynamics-ax7 d3fo

我目前正在与Dynamics AX 7一起测试oData客户端。来自AX的元数据文件超过900&000; 000行,如果我使用默认的oData客户端并自动生成一个C#类文件,它就赢了#39 ;由于太多的字符串文字(.net错误)而构建。

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

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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

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

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