Как я могу получить объект с linq-запросом, который не находится в контексте? - PullRequest
1 голос
/ 13 апреля 2019

мой плагин срабатывает при "Create" -xxx-Entity.в ServiceContextI есть заметки, которые принадлежат только этой сущности.Но, например, мне нужны все заметки в CRM или все записи, принадлежащие другому объекту, которых нет в ServiceContext.Как я могу получить его?

var ServiceContext = new OrganizationServiceContext(service);

 var notes = from n in ServiceContext.CreateQuery("annotation")
 where n["objectid"] == new EntityReference("xxx", xxx.Id)
                            select n;

1 Ответ

1 голос
/ 14 апреля 2019

OrganizationServiceContext может запрашивать любую сущность без ограничений. Вы можете использовать тот же запрос, просто удалите предложение where, и вы получите все примечания:

var query = from n in ServiceContext.CreateQuery("annotation")
            select n;
var allNotes = query.ToList();

Или, для заметок, связанных с другой записью:

var query = from n in ServiceContext.CreateQuery("annotation")
where n.GetAttributeValue<EntityReference>("objectid").Id.Equals(myObjectId)
select n;

Для заметок, которые имеют вложения, если только вам не нужно documentbody, исключение этого из запроса может ускорить процесс.

...