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();

CRM 2013在控制台应用程序中创建后无法检索新实体

如果它有时有效,而其他情况则无效,则可能是由于竞争条件。我最好的客人没有看到任何代码或插件是如何注册的,是插件是异步运行的。如果要确保它存在,请将其注册为同步。