/// <summary> /// Performs an Asynchronous delete, deleting entities that are in the given set of values /// Use the querySet overload if performing multiple deletes. /// </summary> /// <typeparam name="T">Type of Entity List to delete.</typeparam> /// <param name="service">The service.</param> /// <param name="columnName">The name of the column to perform the in against.</param> /// <param name="values">The list of values to search for being in the column name.</param> /// <returns></returns> public static BulkDeleteResult DeleteIn <T>(this IOrganizationService service, string columnName, params object[] values) where T : Entity { return(BulkDelete.Delete(service, new QueryExpression[] { QueryExpressionFactory.CreateIn <T>((ColumnSet)null, false, columnName, values) })); }
/// <inheritdoc /> public virtual Task BulkDeleteMessages(string channelId, BulkDelete messages) { var arguments = new object[] { channelId, messages }; return((Task)methodImpls["BulkDeleteMessages"](Client, arguments)); }
/// <summary> /// Performs an Asynchronous delete, deleting entities that match the given set of name value pairs /// Use the querySet overload if performing multiple deletes /// </summary> /// <typeparam name="T">The type of Entity</typeparam> /// <param name="service">The service.</param> /// <param name="columnNameAndValuePairs">The column name and value pairs.</param> /// <returns></returns> public static BulkDeleteResult Delete <T>(this IOrganizationService service, params object[] columnNameAndValuePairs) where T : Entity { return(BulkDelete.Delete(service, new QueryExpression[] { QueryExpressionFactory.Create <T>(columnNameAndValuePairs) })); }
static void Main(string[] args) { // Just the fill the list List <Person> personList = Enumerable.Range(1, 120).ToList().Select(i => new Person { Id = i, Name = i.ToString() }).ToList(); List <Contact> contactList = Enumerable.Range(1, 200).ToList().Select(i => new Contact { Id = i, Content = i.ToString() }).ToList(); int pageSize = 5; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /* With default BulkInsert implementation in not paged mode */ BulkInsert defaultBulkInsert = new BulkInsert(); var defaultBulkInsertSqlCmdPerson = defaultBulkInsert.BulkInsertCmd(personList); /* With your own implementation of BulkInsert in paged mode */ PersonBulk personBulk = new PersonBulk(); PagedBulk <Person> personPagedBulk = new PagedBulk <Person>(personList, personBulk); personPagedBulk.PageSize = pageSize; List <string> sqlCmdGeneratedPerson = new List <string>(); while (personPagedBulk.HasNext()) { string sqlCmdPersonP = personPagedBulk.Next(); sqlCmdGeneratedPerson.Add(sqlCmdPersonP); } /* With your own implementation of BulkInsert in not paged mode */ string sqlCmdPerson = personBulk.BulkInsertCmd(personList); //////////////////////////////////////////////////////////////////////// /* With default BulkInsert implementation in not paged mode */ var defaultBulkInsertSqlCmdContact = defaultBulkInsert.BulkInsertCmd(contactList); /* With your own implementation of BulkInsert in paged mode */ ContactBulk contactBulk = new ContactBulk(); PagedBulk <Contact> contactPagedBulk = new PagedBulk <Contact>(contactList, contactBulk); contactPagedBulk.PageSize = pageSize; List <string> sqlCmdGeneratedContact = new List <string>(); while (contactPagedBulk.HasNext()) { string sqlCmdContactP = contactPagedBulk.Next(); sqlCmdGeneratedContact.Add(sqlCmdContactP); } /* With your own implementation of BulkInsert in not paged mode */ string sqlCmdContact = contactBulk.BulkInsertCmd(contactList); //////////////////////////////////////////////////////////////////////// /* With default BulkDelete implementation */ BulkDelete defaultBulkDelete = new BulkDelete(); var defaultBulkDeleteSqlCmdPerson = defaultBulkDelete.BulkDeleteCmd(personList, e => e.Id); //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// }