如何获取不在上下文中的linq-query实体?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何获取不在上下文中的linq-query实体?相关的知识,希望对你有一定的参考价值。

我的插件触发“创建”-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;
答案

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,否则将其排除在查询之外可以加快速度。

以上是关于如何获取不在上下文中的linq-query实体?的主要内容,如果未能解决你的问题,请参考以下文章

Spring Data 以及如何按不在实体中的列进行排序

如何确保从上下文而不是缓存中获取 Core Data Fetched Property?

[小技巧]EF Core中如何获取上下文中操作过的实体

如何在 RestKit 中定义不在同一个 JSON 文档中的实体之间的关系映射?

Springboot jpa:实体无法绑定不在表列中的自定义查询中的数据

如何完全替换 PHP 中的所有特殊字符而不在结果中留下任何 HTML 实体