无法使用插件中的 LINQ 检索 CRM ServiceContext AddObjects
CRM ServiceContext AddObjects not retrievable with LINQ in plugin
我目前正在创建一些对象,设置它们的值,然后将它们添加到上下文中,就像这样;
var address = new Customaddress();
address.Id = Guid.NewGuid();
address.CustomField = "test";
serviceContext.AddObject(address);
这很好用。但是稍后在插件中,在调用 SaveChanges() 之前,我正在尝试检索这些创建的地址的列表,如下所示;
var addresses = serviceContext.CustomAddressSet.Where(...);
生成的地址列表包含我更改之前的内容。在调用 SaveChanges() 之前,是否有任何方法可以随后从上下文中查询添加的对象列表?
感谢您的指点。
没有。这是行不通的,因为您可能已经查询过将值放入上下文中,否则只需跳过上下文并使用 IOrganizationService
的实现创建记录(而不是创建一个 OrganizationServiceContext
消耗IOrganizationService
.)
并且,坦率地说,如果您尝试这样做,您就是在误用 OrganizationServiceContext
class:模型是 CreateContext->Query->Modify-> SaveChanges->DisposeContext.
我目前正在创建一些对象,设置它们的值,然后将它们添加到上下文中,就像这样;
var address = new Customaddress();
address.Id = Guid.NewGuid();
address.CustomField = "test";
serviceContext.AddObject(address);
这很好用。但是稍后在插件中,在调用 SaveChanges() 之前,我正在尝试检索这些创建的地址的列表,如下所示;
var addresses = serviceContext.CustomAddressSet.Where(...);
生成的地址列表包含我更改之前的内容。在调用 SaveChanges() 之前,是否有任何方法可以随后从上下文中查询添加的对象列表?
感谢您的指点。
没有。这是行不通的,因为您可能已经查询过将值放入上下文中,否则只需跳过上下文并使用 IOrganizationService
的实现创建记录(而不是创建一个 OrganizationServiceContext
消耗IOrganizationService
.)
并且,坦率地说,如果您尝试这样做,您就是在误用 OrganizationServiceContext
class:模型是 CreateContext->Query->Modify-> SaveChanges->DisposeContext.