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)
                {
     //程序逻辑
}

  

原文地址:https://www.cnblogs.com/shanshuiYiCheng/p/14108396.html