BulkDeleteRequest BulkDeleteRequest BulkDeleteRequest BulkDeleteRequest Class

Definition

Contains the data that’s needed to submit a bulk delete job that deletes selected records in bulk. This job runs asynchronously in the background without blocking other activities.

For the Web API use the BulkDelete Action.

Web API support for this message was added with December 2016 update for Microsoft Dynamics 365 (online) and December 2016 Service Pack for Microsoft Dynamics 365 (on-premises)

public ref class BulkDeleteRequest sealed : Microsoft::Xrm::Sdk::OrganizationRequest
[System.Runtime.Serialization.DataContract(Namespace="http://schemas.microsoft.com/crm/2011/Contracts")]
public sealed class BulkDeleteRequest : Microsoft.Xrm.Sdk.OrganizationRequest
type BulkDeleteRequest = class
    inherit OrganizationRequest
Public NotInheritable Class BulkDeleteRequest
Inherits OrganizationRequest
Inheritance
BulkDeleteRequestBulkDeleteRequestBulkDeleteRequestBulkDeleteRequest
Attributes

Examples



// 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.
    var opportunitiesQuery = BuildOpportunityQuery();

// Create the bulk delete request.
     var 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;
   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)svc.Execute(bulkDeleteRequest);
Console.WriteLine("The bulk delete operation has been requested.");

The following example shows how to use this message. For this sample to work correctly, you must be connected to the server to get an IOrganizationService interface. For the complete sample, see the link later in this topic.

BulkDelete#BulkDelete BulkDeleteVB#BulkDelete

Remarks

Message Availability

For this message to work, the caller must be connected to the server.

Usage

Pass an instance of this class to the Execute(OrganizationRequest) method, which returns an instance of the BulkDeleteResponse class.

Privileges and Access Rights

To perform this action, the caller must have read access rights on the entity records that are specified in the request class. The caller must also have Delete message privileges for the entity types being deleted. For a complete list of the required privileges, see BulkDelete message privileges.

Notes for Callers

By default, a system administrator has the BulkDelete privileges for bulk deletions. Other users must be granted the BulkDelete privileges before they can perform a bulk deletion.

When a record is deleted, all its child records are also deleted. The entire deletion fails if the caller doesn’t have delete privileges or access rights to perform bulk deletions for any of these records.

The deletion order of the related records depends on the cascade configuration for each entity relationship. For a description of how actions on a parent record can affect related records, see Entity relationship behavior.

Supported Entities

You can delete the records in bulk of an entity that supports the BulkDeleteRequest message, including custom entities.

The following table shows the default entities that support this message. For the listed entities, the caller must be connected to the server for this message to be available.

Entity

Availability

account

Server

activitymimeattachment

Server

annotation

Server

annualfiscalcalendar

Server

appointment

Server

asyncoperation

Server

attributemap

Server

bulkdeleteoperation

Server

bulkoperation

Server

businessunit

Server

businessunitnewsarticle

Server

calendar

Server

campaign

Server

campaignactivity

Server

campaignresponse

Server

columnmapping

Server

competitor

Server

connection

Server

connectionrole

Server

connectionroleobjecttypecode

Server

constraintbasedgroup

Server

contact

Server

contract

Server

contractdetail

Server

contracttemplate

Server

customeraddress

Server

customeropportunityrole

Server

customerrelationship

Server

discount

Server

discounttype

Server

duplicaterule

Server

duplicaterulecondition

Server

email

Server

equipment

Server

fax

Server

fieldpermission

Server

fieldsecurityprofile

Server

fixedmonthlyfiscalcalendar

Server

goal

Server

goalrollupquery

Server

import

Server

importdata

Server

importentitymapping

Server

importfile

Server

importjob

Server

importmap

Server

incident

Server

incidentresolution

Server

invoice

Server

invoicedetail

Server

isvconfig

Server

kbarticle

Server

kbarticlecomment

Server

kbarticletemplate

Server

lead

Server

letter

Server

list

Server

lookupmapping

Server

mailmergetemplate

Server

metric

Server

monthlyfiscalcalendar

Server

opportunity

Server

opportunityclose

Server

opportunityproduct

Server

orderclose

Server

ownermapping

Server

phonecall

Server

picklistmapping

Server

pluginassembly

Server

plugintype

Server

pricelevel

Server

principalobjectattributeaccess

Server

processsession

Server

product

Server

productpricelevel

Server

publisher

Server

publisheraddress

Server

quarterlyfiscalcalendar

Server

queue

Server

queueitem

Server

quote

Server

quoteclose

Server

quotedetail

Server

recurrencerule

Server

recurringappointmentmaster

Server

relationshiprole

Server

relationshiprolemap

Server

report

Server

reportcategory

Server

reportentity

Server

reportvisibility

Server

resourcespec

Server

role

Server

rollupfield

Server

salesliterature

Server

salesliteratureitem

Server

salesorder

Server

salesorderdetail

Server

savedquery

Server

savedqueryvisualization

Server

sdkmessageprocessingstep

Server

sdkmessageprocessingstepimage

Server

sdkmessageprocessingstepsecureconfig

Server

semiannualfiscalcalendar

Server

service

Server

serviceappointment

Server

serviceendpoint

Server

sharepointdocumentlocation

Server

sharepointsite

Server

site

Server

solution

Server

subject

Server

systemform

Server

task

Server

team

Server

template

Server

territory

Server

transactioncurrency

Server

transformationmapping

Server

transformationparametermapping

Server

uom

Server

uomschedule

Server

userentityinstancedata

Server

userentityuisettings

Server

userform

Server

userquery

Server

userqueryvisualization

Server

webresource

Server

webwizard

Server

wizardaccessprivilege

Server

wizardpage

Server

workflow

Server

workflowdependency

Server

workflowlog

Server

Constructors

BulkDeleteRequest() BulkDeleteRequest() BulkDeleteRequest() BulkDeleteRequest()

Initializes a new instance of the BulkDeleteRequest class.

Properties

CCRecipients CCRecipients CCRecipients CCRecipients

Gets or sets an array of IDs for the system users (users) who are listed in the Cc box of the email notification. Required.

ExtensionData ExtensionData ExtensionData ExtensionData

Gets or sets the structure that contains extra data. Optional.

(Inherited from OrganizationRequest)
Item[String] Item[String] Item[String] Item[String]

Gets or sets the indexer for the Parameters collection.

(Inherited from OrganizationRequest)
JobName JobName JobName JobName

Gets or sets the name of an asynchronous bulk delete job. Required.

Parameters Parameters Parameters Parameters

Gets or sets the collection of parameters for the request. Required, but is supplied by derived classes.

(Inherited from OrganizationRequest)
QuerySet QuerySet QuerySet QuerySet

Gets or sets an array of queries for a bulk delete job. Required.

RecurrencePattern RecurrencePattern RecurrencePattern RecurrencePattern

Gets or sets the recurrence pattern for the bulk delete job. Optional.

RequestId RequestId RequestId RequestId

Gets or sets the ID of an asynchronous operation (system job). Optional.

(Inherited from OrganizationRequest)
RequestName RequestName RequestName RequestName

Gets or sets the name of the request. Required, but is supplied by derived classes.

(Inherited from OrganizationRequest)
RunNow RunNow RunNow RunNow

SendEmailNotification SendEmailNotification SendEmailNotification SendEmailNotification

Gets or sets a value that indicates whether an email notification is sent after the bulk delete job has finished running. Required.

SourceImportId SourceImportId SourceImportId SourceImportId

Gets or sets the ID of the data import job. Optional.

StartDateTime StartDateTime StartDateTime StartDateTime

Gets or sets the start date and time to run a bulk delete job. Optional.

ToRecipients ToRecipients ToRecipients ToRecipients

Gets or sets an array of IDs for the system users (users) who are listed in the To box of an email notification. Required.

Applies to

See also