CRM ServiceContext AddObjects无法通过插件

时间:2017-02-22 11:27:30

标签: c# linq dynamics-crm-2011 dynamics-crm-2013 dynamics-crm-2016

我正在创建一些对象,设置它们的值,然后将它们添加到上下文中,就像这样;

var address = new Customaddress();
address.Id = Guid.NewGuid();
address.CustomField = "test";

serviceContext.AddObject(address);

这很好用。但是后来在插件中,在调用SaveChanges()之前,我正在尝试检索这些创建的地址的列表,如下所示;

var addresses = serviceContext.CustomAddressSet.Where(...);

生成的地址列表包含我的更改之前的内容。有没有办法在调用SaveChanges()之前从上下文中查询添加的对象列表?

感谢您的任何指示。

1 个答案:

答案 0 :(得分:1)

没有。这不起作用,因为您可能已经查询过将值添加到上下文中,否则只需跳过上下文并使用IOrganizationService的实现创建记录(而不是创建OrganizationServiceContext消耗IOrganizationService。)

而且,坦率地说,如果你试图这样做,你就会误导OrganizationServiceContext类:模型是 CreateContext-> Query-> Modify-> SaveChanges-> DisposeContext