Dynamics crm Microsoft.OData.Client$expand未填充模型
我正在使用基于的Microsoft.OData.Client。Dynamics crm Microsoft.OData.Client$expand未填充模型,dynamics-crm,odata,microsoft-odata,Dynamics Crm,Odata,Microsoft Odata,我正在使用基于的Microsoft.OData.Client。 以下是我的简单WebAPI控制器: [Route("test")] [HttpGet] public IHttpActionResult Test() { var context = _dynamicsContextFactory.CreateContext(); // adding this had no effect // context.MergeOption =
以下是我的简单WebAPI控制器:
[Route("test")]
[HttpGet]
public IHttpActionResult Test()
{
var context = _dynamicsContextFactory.CreateContext();
// adding this had no effect // context.MergeOption = MergeOption.AppendOnly;
// adding this had no effect // context.MergeOption = MergeOption.OverwriteChanges;
// adding this had no effect // context.MergeOption = MergeOption.NoTracking;
// adding this had no effect // context.MergeOption = MergeOption.PreserveChanges;
var result = context.SalesOrderHeadersV2.Expand("SalesOrderLines").Take(1).ToList();
return Ok(result);
}
客户端生成正确的URL。
https://example.com/data/SalesOrderHeadersV2?$top=1&$expand=salesforderlines
我可以在fiddler中看到JSON中返回的SalesOrderLines属性
但是,当我检查结果变量(或查看输出)时,没有SalesOrderLines属性。因此,订单行没有从oData源下载的数据映射到我的结果对象中
重要提示:我正在使用以减少我的客户中的实体数量,如果我缺少一个加入实体,这会是一个问题吗?(在这种情况下,似乎不太可能有联合实体)
线索?当我尝试更改此行时:
var result = context.SalesOrderHeadersV2.Expand(x=>x.SalesOrderLines).Take(1).ToList();
它将不会编译,因为'salesforderheaderv2'不包含“salesforderlines”的定义…
注意:
上下文。SalesOrderLines
确实存在。问题在于EDMXTrimmer删除了导航属性。EDMXTrimmer已经修复