对CRM中的BusinessEntityCollection进行Linq操作

本文介绍了如何使用.NET进行CRM数据的查询与处理,包括通过Linq进行数据类型转换及使用QueryExpression进行数据检索的方法,并展示了如何对查询结果进行进一步处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

注意的是要进行CRM数据类型同.NET类型的转换

ContractedBlock.gifCRM Collection Linq

ContractedBlock.gifExpandedBlockStart.gifCRM Collection Linq
 1 ColumnSet cs3 = new ColumnSet();
 2 cs3.Attributes = new string[] { "name""jade_projectdate""createdon" };
 3 QueryExpression query = new QueryExpression();
 4 query.ColumnSet = cs3;
 5 query.EntityName = EntityName.opportunity.ToString();
 6 BusinessEntityCollection rezult = service.RetrieveMultiple(query);
 7 //opportunity[] opp = (opportunity[])rezult.BusinessEntities;
 8 List<opportunity> opp = new List<opportunity>();
 9 foreach (BusinessEntity project in rezult.BusinessEntities)
10 {
11     opportunity temp = (opportunity)project;
12     opp.Add(temp);
13 }
14 DateTime test = (from s in opp
15          select Convert.ToDateTime(s.createdon.Value)).Max();
16 TextBox1.Text =

 

 另外,还可以使用OrderExpression对Query进行GroupBy

ContractedBlock.gifExpandedBlockStart.gifOrderExpression
 1             CrmAuthenticationToken token = new CrmAuthenticationToken();
 2             token.AuthenticationType = 0;
 3             token.OrganizationName = "MicrosoftCRM";
 4             CrmService service = new CrmService();
 5             service.Url = "http://localhost:5555/mscrmservices/2007/crmservice.asmx";
 6             service.CrmAuthenticationTokenValue = token;
 7             service.Credentials = System.Net.CredentialCache.DefaultCredentials;
 8             ColumnSet cs = new ColumnSet();
 9             cs.Attributes = new string[] { "jade_start""jade_status""jade_activityid" };
10             ConditionExpression conExp = new ConditionExpression();
11             conExp.Operator = ConditionOperator.EqualUserId;
12             conExp.AttributeName = "createdby";
13             FilterExpression filExp = new FilterExpression();
14             filExp.Conditions = new ConditionExpression[] { conExp };
15             OrderExpression odrExp = new OrderExpression();
16             odrExp.AttributeName = "jade_start";
17             odrExp.OrderType = OrderType.Descending;
18             OrderExpression odrExp2 = new OrderExpression();
19             odrExp2.AttributeName = "jade_pause";
20             odrExp2.OrderType = OrderType.Descending;
21             QueryExpression qryExp = new QueryExpression();
22             qryExp.ColumnSet = cs;
23             qryExp.Criteria = filExp;
24             qryExp.EntityName = "jade_timesheetdetail";
25             qryExp.Orders = new OrderExpression[] { odrExp, odrExp2 };
26             BusinessEntityCollection BEC = service.RetrieveMultiple(qryExp);
27             jade_timesheetdetail detail = (jade_timesheetdetail)BEC.BusinessEntities[0];
28             if (detail.jade_status.Value == 1)
29                 TextBox1.Text =  "test";

转载于:https://www.cnblogs.com/yanluckly/archive/2009/03/20/1417781.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值