CRM 2013在控制台应用程序中创建后无法检索新实体
本文关键字:新实体 检索 实体 2013 控制台 应用程序 创建 CRM | 更新日期: 2023-09-27 18:25:24
在控制台应用程序中,我连接到CRM并更新实体
更新(在CRM中)启动插件,在另一个实体中创建新记录
然后在控制台应用程序中,我试图获得插件创建的记录(whith linq或fetch)
但我不能,尽管我在CRM中看到了新记录(在调试期间和之后),但我得到了null
(我确信检索是正确的,因为在下次运行控制台时,它会返回第一次创建的正确行。据我所知,这是交易的一个问题)
...
entityA["doctor"] = new EntityReference("contact", contactId);
// update the first entity
XrmService.Update(entityA);
entityBB entityB = new entityBB();
// retrieve the record that the plugin created
entityB = (from emp in XrmService.Xrm.entityBSet
where ...)
select new entityBB
{
Id = emp.Id
}).FirstOrDefault();
然后我得到entityB null,尽管我看到记录创建了
添加所有linq状态:
instituteEmployees = (from emp in XrmService.Xrm.el_instituteemployeeSet
where ((emp.el_institute.Id == institute || emp.el_LicenseId.Id == licenseId) &&
emp.el_contact == license.moha_acting_doctor && emp.el_JOB == instJob.ToEntityReference())
select new el_instituteemployee
{
Id = emp.Id,
}).FirstOrDefault();
如果它有时有效,而其他情况则无效,则可能是由于竞争条件。我最好的客人没有看到任何代码或插件是如何注册的,是插件是异步运行的。如果要确保它存在,请将其注册为同步。