我需要从CRM entity
查询一些值,其中linked entity
在其name
内包含string
。C#crm linQ LinkEntities
我试图解释:
- 我有
new_supplycontract
表。 - 此表,有一个
EntityReference
命名new_pod
- 的
new_pod
实体,有两个字段:new_citypod和new_street
new_citypod
指向名为new_city
new_street
指向名为另一实体的另一个实体new_street
我需要查询new_supplycontract
表以检索只有new_pod
包含的记录哪个名字包含一个string
我通过了一个city
哪个名字包含另一个string
我通过。
我知道这段代码适用于检索所有new_supplycontract
实体,它们的两个文本字段“new_city
”和“new_address
”与通过的两个字符串相似。
QueryExpression query = new QueryExpression(new_supplycontract.EntityLogicalName);
query.ColumnSet = new ColumnSet(true);
query.Criteria.AddCondition("new_city", ConditionOperator.NotNull);
query.Criteria.AddCondition("new_address", ConditionOperator.NotNull);
query.LinkEntities.Add(new LinkEntity(new_supplycontract.EntityLogicalName, "new_comune", "new_city", "new_comuneid", JoinOperator.Inner));
query.LinkEntities[0].Columns.AddColumns("new_name");
query.LinkEntities[0].EntityAlias = "comuneTemp";
query.LinkEntities[0].LinkCriteria.AddCondition("new_name", ConditionOperator.Like, "%" + comune + "%");
query.LinkEntities.Add(new LinkEntity(new_supplycontract.EntityLogicalName, new_via.EntityLogicalName, "new_address", "new_viaid", JoinOperator.Inner));
query.LinkEntities[1].Columns.AddColumns("new_name");
query.LinkEntities[1].EntityAlias = "viaTemp";
query.LinkEntities[1].LinkCriteria.AddCondition("new_name", ConditionOperator.Like, "%" + via + "%");
DataCollection<Entity> entities = service.RetrieveMultiple(query).Entities;
但我真的不知道如何使用这段代码来实现我的目标。我不知道如何过滤entityreference的entityreference。
任何帮助将不胜感激
把这个新的LinkEntity(new_supplycontract.EntityLogicalName,“new_comune “,”new_city“,”new_comuneid“,JoinOperator.Inner);在一个新的变量。然后,您可以按照与查询相同的方式将链接实体添加到该变量。这就是你如何链接他们。 – Lidaranis