本文整理汇总了C#中MessageCollection.DeleteMulti方法的典型用法代码示例。如果您正苦于以下问题:C# MessageCollection.DeleteMulti方法的具体用法?C# MessageCollection.DeleteMulti怎么用?C# MessageCollection.DeleteMulti使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MessageCollection
的用法示例。
在下文中一共展示了MessageCollection.DeleteMulti方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: DeleteMessages
/// <summary>
/// Deletes the messages matching the messagefilter passed in
/// </summary>
/// <param name="messageFilter">The message filter.</param>
/// <param name="trans">The transaction to use.</param>
private static void DeleteMessages(IPredicate messageFilter, Transaction trans)
{
// first delete all audit info for these message. This isn't done by a batch call directly on the db, as this is a targetperentity hierarchy
// which can't be deleted directly into the database in all cases, so we first fetch the entities to delete.
AuditDataMessageRelatedCollection messageAudits = new AuditDataMessageRelatedCollection();
trans.Add(messageAudits);
// use a fieldcompareset predicate to get the auditdata related to this message and then delete all of them using the collection.
messageAudits.GetMulti(new FieldCompareSetPredicate(AuditDataMessageRelatedFields.MessageID, MessageFields.MessageID, SetOperator.In, messageFilter));
messageAudits.DeleteMulti();
// delete all attachments for this message. This can be done directly onto the db.
AttachmentCollection attachments = new AttachmentCollection();
trans.Add(attachments);
// delete these directly from the db, using a fieldcompareset predicate
attachments.DeleteMulti(new FieldCompareSetPredicate(AttachmentFields.MessageID, MessageFields.MessageID, SetOperator.In, messageFilter));
// delete the message/messages
MessageCollection messages = new MessageCollection();
trans.Add(messages);
// use the passed in filter to remove the messages
messages.DeleteMulti(messageFilter);
// don't commit the transaction, leave that to the caller.
}