【问题标题】:How to connect to OData service with generated OData client?如何使用生成的 OData 客户端连接到 OData 服务?
【发布时间】:2018-09-23 16:40:01
【问题描述】:

我使用 OData V4 Client Code Generator 项目模板 (https://marketplace.visualstudio.com/items?itemName=bingl.ODatav4ClientCodeGenerator) 从 OData V4 服务(Dynamics 365 元数据)生成客户端代码。

代码生成良好并且可以编译。现在的问题是,我根本找不到一种方法来建立可在查询数据时使用的连接(或上下文)(例如 OData linq 查询)。

我读过的所有示例基本上都只是“立即开始”有一个可用的上下文或资源,但没有一个真正说明它为什么或如何存在。

例如https://blogs.msdn.microsoft.com/odatateam/2014/03/11/tutorial-sample-how-to-use-odata-client-code-generator-to-generate-client-side-proxy-class/ 展示了如何生成类,然后创建NorthwindEntities(或XxxxEntities)的实例,同样,我没有生成(我没有任何名为“实体”的东西)在生成的代码中)。

https://stoneridgesoftware.com/working-with-the-odata-endpoint-in-dynamics-365-for-operations/ 只是简单地创建Resources 类的新实例,而我没有(它是什么?)。我在生成的代码中没有任何名为 Resources 的内容。

显然它不可能这么困难,所以也许我错过了一些东西。

编辑:生成的类只包含类CrmbaseentityCrmbaseentitySingleExtensionMethods,然后是实体类本身。根本没有其他类。

任何想法如何以不同的方式执行此操作或我错过的任何博客文章?

【问题讨论】:

  • 您生成的代码中是否有类似public partial class Container : global::Microsoft.OData.Client.DataServiceContext 的内容?也许有不同的名称,但基类很重要。我认为在 Northwind 示例中是 NorthwindEntities。
  • 不,没有。

标签: c# odata dynamics-crm


【解决方案1】:

问题是我使用了https://github.com/Microsoft/Dynamics-AX-Integration/tree/master/ServiceSamples/ODataUtility的代码生成模板。当我将OData服务作为“服务引用”添加到项目中并使用向导时,代码就正常生成了。

我仍然不知道 T4 模板不起作用的真正原因。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-18
    • 1970-01-01
    • 2015-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多