当前位置: 首页>>代码示例>>C#>>正文


C# MessageCollection.DeleteMulti方法代码示例

本文整理汇总了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.
        }
开发者ID:priaonehaha,项目名称:HnD,代码行数:29,代码来源:MessageManager.cs


注:本文中的MessageCollection.DeleteMulti方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。