使用 Ms Dynamic 2016 Web 的简单 Odata API 插入 return null

Simple Odata With Ms Dynamic 2016 Web API insert return null

我正在使用简单的 Simple.Odata API 将新实体数据插入 Ms Dynamic CRM Web api 并使用以下代码 snip

        var newContactData = await _oDataClient
            .For<Contacts>()
               .Set(new
               {
                   firstname = contactData.ContatDetails.firstname,
                   lastname = contactData.ContatDetails.lastname,
                   emailaddress1 = contactData.ContatDetails.emailaddress1
               })
               .InsertEntryAsync(true);

此代码片段创建了新的实体数据,但问题是 newcontactData 始终为空。根据文档 newcontactData 对象应该有新创建的对象数据。查看 link 文档 https://github.com/object/Simple.OData.Client/wiki/Adding-entries

默认情况下,创建记录时没有数据被 returned,新记录 id 在 header (OData-EntityId) 中被 returned。这不同于较早的 2011 年端点,其中记录默认为 returned。

https://msdn.microsoft.com/en-us/library/gg328090.aspx#bkmk_basicCreate

在最新版本的 CRM 8.2/Dynamics 365 中,您可以选择 return 所有属性,方法是传递 Prefer: return=representation header.

https://msdn.microsoft.com/en-us/library/gg328090.aspx#bkmk_createWithDataReturned