我是靠谱客的博主 单纯摩托,这篇文章主要介绍Dynamic CRM 之联合查询实体间的数据,现在分享给大家,希望可以做个参考。

1.CRM实体间有很多关联,比如“联系人”经常用到“客户”中的公司地址,所以写了一个联合查询,本人初接触CRM系统,望大家多多指教!

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
QueryExpression ContactExpression = new QueryExpression { EntityName = "contact", //查询的实体名称 ColumnSet = new ColumnSet(true), //contact实体字段,true代表全部字段; Criteria = new FilterExpression() }; //根据parentcustomerid查询:联系人在account实体中的公司地址 ContactExpression.LinkEntities.Add(new LinkEntity("contact", "account", "parentcustomerid", "accountid", JoinOperator.Inner)); //account实体中公司地址字段 ContactExpression.LinkEntities[0].Columns.AddColumns("address1_line1"); //这里的temp相当于account实体的别名,获取数据通过该temp.address1_line1; ContactExpression.LinkEntities[0].EntityAlias = "temp"; FilterExpression allchildFilder = new FilterExpression(); allchildFilder.FilterOperator = LogicalOperator.And; ConditionExpression statecode = new ConditionExpression("statecode", ConditionOperator.Equal, 0); //获取查询到数据的行数 allchildFilder.AddCondition(statecode); allchildFilder.AddFilter(childFilder); ContactExpression.Criteria = allchildFilder; EntityCollection contactchildEntity = service.RetrieveMultiple(ContactExpression); if (contactchildEntity.Entities.Count <= 0) ReturnStr = "{"status":"success","result":"暂无数据"}"; else { foreach (Entity s in contactchildEntity.Entities) { string address = string.Empty; //获取account中的公司地址:判断account中的公司地址 属性是否为null或者"" if (s.Attributes.Keys.Contains("temp.address1_line1") != true) { address = string.Empty; //设置默认值 } else { address = ((AliasedValue)s["temp.address1_line1"]).Value.ToString(); //获取地址 } } }


最后

以上就是单纯摩托最近收集整理的关于Dynamic CRM 之联合查询实体间的数据的全部内容,更多相关Dynamic内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(89)

评论列表共有 0 条评论

立即
投稿
返回
顶部