【问题标题】:Use a WCF Data Service to create an OData source for a virtual entity in Dynamics使用 WCF 数据服务为 Dynamics 中的虚拟实体创建 OData 源
【发布时间】:2021-01-13 15:38:04
【问题描述】:

我有一个 Azure SQL 数据库,所以我创建了一个 Microsoft.Search 服务。我想用它来构建一个虚拟实体。这可能吗?我觉得它想要一个可以工作的源,以及在查询中附加一个单独的表名,这意味着它不会工作。

鉴于我一无所获,我创建了一个 WCF 数据服务,它为我提供了我需要的 OData 服务,但仍然无法正常工作......

我想我知道原因。我的 JSON 响应如下所示:

 "d": [
        {
            "__metadata": {
                "id": "https://localhost:44317/V4/Odata/Odata.svc/YOYParentContacts(guid'1b9d9acf-77cc-4c37-9735-30946e871d1b')",
                "uri": "https://localhost:44317/V4/Odata/Odata.svc/YOYParentContacts(guid'1b9d9acf-77cc-4c37-9735-30946e871d1b')",
                "type": "Model.YOYParentContact"
            },
            "id": "1b9d9acf-77cc-4c37-9735-30946e871d1b",

而有效的数据源返回 JSON 如下:

{
  "@odata.context": "https://services.odata.org/V4/OData/OData.svc/$metadata#Advertisements",
  "value": [
    {
      "@odata.mediaReadLink": "Advertisements(f89dee73-af9f-4cd4-b330-db93c25ff3c7)/$value",
      "@odata.mediaContentType": "*/*",
      "@odata.mediaEtag": "\"8zOOKKvgOtptr4gt8IrnapX3jds=\"",
      "ID": "f89dee73-af9f-4cd4-b330-db93c25ff3c7",

因此,假设我的简单 WCF 数据服务返回的不同格式 JSON 是我的问题的原因似乎是合理的。所以我的问题变成了,使用 WCF 数据服务,我如何塑造它返回的 JSON?

谢谢

【问题讨论】:

  • Dynamics 不是已经在使用 OData 了吗?事实上,鉴于当前版本是云优先的,它是 Microsoft Graph 和 OData
  • 很明显,您将数据集公开为 Odata 的方式不是对动态/虚拟实体的预期响应。我建议您在 WCF 数据上添加检索多个和检索插件,然后更新您的响应。正如我的回答中提到的,尝试访问这个blog 并完成它

标签: azure dynamics-crm microsoft-dynamics microsoft-search-server


【解决方案1】:

只要您有它的来源和表格,并且可以从中检索数据,您就可以开始了。

您可以拥有开箱即用的 odata 提供程序,也可以创建自定义数据提供程序。没什么大不了的,Here is an nice example of how to achieve this

【讨论】:

  • 谢谢。问题是,我创建了一个 OData 源,当我指向它时,Dynamics 给了我一个错误
  • 我想您确实知道在 Dynamics 中拥有虚拟实体数据有一些基本规则。看看来自 Mircosoft 的 doc
猜你喜欢
  • 1970-01-01
  • 2023-03-25
  • 1970-01-01
  • 1970-01-01
  • 2013-01-17
  • 1970-01-01
  • 2019-02-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多