CRM 代码案例
1: AppointmentQuery 你要查询的entity
ColumnSet(true) 检查所有字段
AddCondition 筛选条件
regardingobjectid entity 也就是sql字段名称
ConditionOperator.Equal 判断是否相等
preImageEntity.ssss_nia_case_no.Id 你要进行判断的值,也就是你需要传递的值
QueryExpression AppointmentQuery = new QueryExpression(Entities.Appointment.EntityLogicalName); AppointmentQuery.ColumnSet = new ColumnSet(true);//check field AppointmentQuery.Criteria.AddCondition("regardingobjectid", ConditionOperator.Equal, preImageEntity.ssss_nia_case_no.Id); var list_result_details = service.RetrieveMultiple(AppointmentQuery); if (list_result_details.Entities.Count > 0) { entity.ssss_site_visit_desc_eng = " "; entity.ssss_site_visit_desc_chi = " "; }
2:context.Depth 当前操作层次值(int)
例如你 要删除entity 的一条数据 并且更新另一个entity 的数值,由于在删除的时候会调用到更新的entity save 方法,所以为了避免这种情况 要断层
if (preImageEntity.Contains("ssss_nia_case_no") && context.Depth == 1) { //程序逻辑 }