dynamic crm 批量刪除數據

代碼來源:BulkDeleteRequest 類

進行了簡單改寫,實現了批量刪除功能,直接上代碼:

            // Create a condition for a bulk delete request.
            // NOTE: This sample uses very specific queries for deleting records
            // that have been manually exported in order to free space.
            //QueryExpression opportunitiesQuery = BuildOpportunityQuery();
            //上面一句代碼其實就是構建一個查詢語句,我以以下的方法直接替代
            QueryExpression opportunitiesQuery = new QueryExpression();
            opportunitiesQuery.EntityName = "";//要查詢的實體
            opportunitiesQuery.ColumnSet = new ColumnSet("");//要查詢的字段
            opportunitiesQuery.Criteria.FilterOperator = LogicalOperator.And;//查詢條件
            opportunitiesQuery.Criteria.AddCondition(new ConditionExpression("statecode", ConditionOperator.Equal, 0));

            // Create the bulk delete request.
            BulkDeleteRequest bulkDeleteRequest = new BulkDeleteRequest();

            // Set the request properties.
            bulkDeleteRequest.JobName = "Backup Bulk Delete";

            // Querying activities
            bulkDeleteRequest.QuerySet = new QueryExpression[]
            {
                opportunitiesQuery,
                //以下的代碼應該是查詢相關連的記錄
                //BuildActivityQuery(Task.EntityLogicalName),
                //BuildActivityQuery(Fax.EntityLogicalName),
                //BuildActivityQuery(PhoneCall.EntityLogicalName),
                //BuildActivityQuery(Email.EntityLogicalName),
                //BuildActivityQuery(Letter.EntityLogicalName),
                //BuildActivityQuery(Appointment.EntityLogicalName),
                //BuildActivityQuery(ServiceAppointment.EntityLogicalName),
                //BuildActivityQuery(CampaignResponse.EntityLogicalName),
                //BuildActivityQuery(RecurringAppointmentMaster.EntityLogicalName)
            };

            // Set the start time for the bulk delete.
            bulkDeleteRequest.StartDateTime = DateTime.Now;

            // Set the required recurrence pattern.
            bulkDeleteRequest.RecurrencePattern = String.Empty;

            // Set email activity properties.
            bulkDeleteRequest.SendEmailNotification = false;
            //輸入當前用戶的id值,經過實測雖然不需要發送郵件但這個字段還是必填的
            //ToRecipients的屬性解釋如下,注意Required
            // Gets or sets an array of IDs for the system users(users) who are listed in the
            // To box of an email notification. Required.
            bulkDeleteRequest.ToRecipients = new Guid[] { currentUserId };
            bulkDeleteRequest.CCRecipients = new Guid[] { };

            // Submit the bulk delete job.
            // NOTE: Because this is an asynchronous operation, the response will be immediate.
            //也可以簡單一點,不需要返回值
            //_bulkDeleteResponse =
            //   (BulkDeleteResponse)_serviceProxy.Execute(bulkDeleteRequest);
            service.Execute(bulkDeleteRequest);
            Console.WriteLine("The bulk delete operation has been requested.");

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章