o数据客户端限制 类
oData client limit classes
我目前正在结合 Dynamics AX 7 测试 oData 客户端。来自 AX 的元数据文件超过 900'000 行,如果我使用默认的 oData 客户端并自动生成 C# class 文件由于字符串文字太多(.net 错误),它不会构建。
现在我正在寻找一种方法来告诉客户端生成器哪些 class 要生成(例如通过实体名称),哪些不生成(客户端不需要大约 95% ).
遗憾的是,限制 AX 端的元数据不是一种选择。
我们遇到了类似的问题,我们不得不修改来自 ODATA 服务的可用 $metadata
信息。
在我们的例子中,我们使用 DataServiceContext
生成器并指向原始服务器 URI,但使用 Fiddler 作为其间的代理。通过在 Fiddler 中使用断点,我们可以将修改后的 $metadata
xml 提供给 Visual Studio 中的 DataServiceContext
生成器。当您少量使用并且 API 稳定时工作正常。
是的,使用 VS2015 将解决您的 "too many strings" 错误,但是如果您打开生成的巨大文件或不小心进入 oData 客户端,您仍然会遇到 Visual Studio 2015 崩溃的问题调试时的文件。
为了解决这个问题,我编辑了 auto-generate oData 客户端 类 的 T4 模板,以便它们创建多个文件,这样你就不会得到一个超过 100 万行的巨大文件.使用更新后的 T4 模板,它将生成相同的代码,但每 5MB 将拆分为一个新文件。
可在此处找到更新后的 T4 模板:
https://github.com/batetech/D365FO-oData-T4-MultiFile-Templates
我目前正在结合 Dynamics AX 7 测试 oData 客户端。来自 AX 的元数据文件超过 900'000 行,如果我使用默认的 oData 客户端并自动生成 C# class 文件由于字符串文字太多(.net 错误),它不会构建。
现在我正在寻找一种方法来告诉客户端生成器哪些 class 要生成(例如通过实体名称),哪些不生成(客户端不需要大约 95% ).
遗憾的是,限制 AX 端的元数据不是一种选择。
我们遇到了类似的问题,我们不得不修改来自 ODATA 服务的可用 $metadata
信息。
在我们的例子中,我们使用 DataServiceContext
生成器并指向原始服务器 URI,但使用 Fiddler 作为其间的代理。通过在 Fiddler 中使用断点,我们可以将修改后的 $metadata
xml 提供给 Visual Studio 中的 DataServiceContext
生成器。当您少量使用并且 API 稳定时工作正常。
是的,使用 VS2015 将解决您的 "too many strings" 错误,但是如果您打开生成的巨大文件或不小心进入 oData 客户端,您仍然会遇到 Visual Studio 2015 崩溃的问题调试时的文件。
为了解决这个问题,我编辑了 auto-generate oData 客户端 类 的 T4 模板,以便它们创建多个文件,这样你就不会得到一个超过 100 万行的巨大文件.使用更新后的 T4 模板,它将生成相同的代码,但每 5MB 将拆分为一个新文件。
可在此处找到更新后的 T4 模板: https://github.com/batetech/D365FO-oData-T4-MultiFile-Templates