Пример #1
0
 /// <summary>
 /// Evict all entries from the process-level cache. This method occurs outside
 /// of any transaction; it performs an immediate "hard" remove, so does not respect
 /// any transaction isolation semantics of the usage strategy. Use with care.
 /// </summary>
 /// <param name="factory">The session factory.</param>
 /// <param name="persistentClasses">The classes of the entities to evict.</param>
 /// <param name="cancellationToken">A cancellation token that can be used to cancel the work</param>
 public static async Task EvictAsync(this ISessionFactory factory, IEnumerable <System.Type> persistentClasses, CancellationToken cancellationToken = default(CancellationToken))
 {
     cancellationToken.ThrowIfCancellationRequested();
     if (factory is SessionFactoryImpl sfi)
     {
         await(sfi.EvictAsync(persistentClasses, cancellationToken)).ConfigureAwait(false);
     }
     else
     {
         if (persistentClasses == null)
         {
             throw new ArgumentNullException(nameof(persistentClasses));
         }
         foreach (var @class in persistentClasses)
         {
             await(factory.EvictAsync(@class, cancellationToken)).ConfigureAwait(false);
         }
     }
 }
 public Task EvictAsync(Type persistentClass, CancellationToken cancellationToken = new CancellationToken()) =>
 _inner.EvictAsync(persistentClass, cancellationToken);
Пример #3
0
 public Task EvictAsync(Type persistentClass, CancellationToken cancellationToken = new CancellationToken())
 {
     return(_sessionFactory.EvictAsync(persistentClass, cancellationToken));
 }