[英]How to get updated entities with Linq after ExecuteMultipleRequest
因此,我正在使用CRM2011。为了提高性能,我开始使用ExecuteMultipleRequest。 一次创建许多记录时,它可以正常工作。 大! 我的问题是当我完成
context.Execute(myMultipleRequest);
并获得ID后面的有效回复,如果我再执行
context.myEntitiesSet.Where(x => x.Name == "foo")
(基本上查询刚刚创建的对象)我没有得到有效的对象,这意味着它们的ID为空(Guid.Empty)。
因此,似乎我必须选择使用其中一种:
context.Create()
, context.Update()
, context.Where(...)
等 要么 context.Execute(multiple)
和context.RetrieveMultiple()
似乎没有中间立场,因为当我使用ExecuteMultipleRequest
时,上下文似乎并没有更新它要跟踪的实体。 那是我的基本问题。 我可以创建对象,但是如果要查询它们,则不能在上下文中使用linq查询,然后必须使用RetrieveMultiple
。
是我倒退了,还是在使用CRM时众所周知? 我是一位经验丰富的开发人员,但对于CRM来说还比较陌生。
使用ExecuteMultipleRequest
时,是否应该为所有新创建的实体自己调用context.AttachObject()
?
任何帮助,将不胜感激。 哦,我正在使用早期绑定的对象。
我不认为CrmLinqProvider已扩展为可以处理您的实例。 ExecuteMultipleRequest返回一个ExecuteMultipleResponse对象,该对象包含每个请求的结果。 您需要循环遍历以确定id,然后自己更新。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.