如何获得不在上下文中的具有 linq 查询的实体?
How can I get an entity with linq-query that is not in context?
我的插件在 "Create" -xxx-Entity 上触发。在 ServiceContext 中,我有只属于这个实体的注释。但是,例如,我想要 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;
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
,将其排除在查询之外可以加快速度。
我的插件在 "Create" -xxx-Entity 上触发。在 ServiceContext 中,我有只属于这个实体的注释。但是,例如,我想要 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;
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
,将其排除在查询之外可以加快速度。