1

假设我们在 Dynamics 365 中有一个 Account 实体,account 有 c5 number 和 name 属性。

现在我想通过动态 365 Web API 创建一个新帐户。我创建了一个带有 c5 编号、名称的帐户对象,并添加了一个附加属性 lastname。当我将此帐户对象发布到 Web API 时,我会收到如下错误:

    "code":"","message":"The property 'lastname' does not exist on type 'Microsoft.Dynamics.CRM.account'. Make sure to only use property names that are defined by the type.","innererror":{

  "message":"The property 'lastname' does not exist on type 'Microsoft.Dynamics.CRM.account'. Make sure to only use property names that are defined by the ...

我真的不明白为什么 Dynamics 365 Web API 不能忽略它不能使用的属性?

在这种特定场景下,这意味着如果我们删除帐户实体上的 name 属性,我们所有与 Web API 对话的系统都可能崩溃。

我怎样才能解决这个问题?是否有强制动态 365 Web API 忽略某些属性?

4

1 回答 1

0

Web Api 不仅不会忽略未使用的值,而且即使在更新时,它也会更新您发送的所有值,即使它们是相等的。作为一个步骤 - 通过将其设置为非 NonSerialized 来忽略此值,它将被排除在外。此外,您可以为类成员定义命名,因此您不必担心它们在代码中是如何命名的。

`[Serializable]
public class Account    {
    [NonSerialized]
    public string lastname;

    [JsonProperty("firstname")]
    public string firstName;

    [JsonProperty("index")]
    public int c5;
}
于 2017-07-19T10:09:25.627 回答