/// <summary> /// Get the {@link CollectionLoadContext} associated with the given /// {@link ResultSet}, creating one if needed. /// </summary> /// <param name="resultSet">The result set for which to retrieve the context. </param> /// <returns> The processing context. </returns> public CollectionLoadContext GetCollectionLoadContext(DbDataReader resultSet) { CollectionLoadContext context = null; if (collectionLoadContexts == null) { collectionLoadContexts = IdentityMap.Instantiate(8); } else { context = (CollectionLoadContext)collectionLoadContexts[resultSet]; } if (context == null) { if (log.IsDebugEnabled()) { // Do not log the resultSet as-is, it is an IEnumerable which may get enumerated by loggers. // (Serilog does that.) See #1667. log.Debug("constructing collection load context for result set [{0}]", resultSet.GetType()); } context = new CollectionLoadContext(this, resultSet); collectionLoadContexts[resultSet] = context; } return(context); }
protected override IDictionary GetMergeMap(object anything) { var cache = (EventCache)anything; var result = IdentityMap.Instantiate(cache.Count); foreach (DictionaryEntry entry in cache) { result[entry.Value] = entry.Key; } return(result); }
public virtual Task OnPersistAsync(PersistEvent @event, CancellationToken cancellationToken) { if (cancellationToken.IsCancellationRequested) { return(Task.FromCanceled <object>(cancellationToken)); } try { return(OnPersistAsync(@event, IdentityMap.Instantiate(10), cancellationToken)); } catch (Exception ex) { return(Task.FromException <object>(ex)); } }
/// <summary> /// Get the {@link CollectionLoadContext} associated with the given /// {@link ResultSet}, creating one if needed. /// </summary> /// <param name="resultSet">The result set for which to retrieve the context. </param> /// <returns> The processing context. </returns> public CollectionLoadContext GetCollectionLoadContext(DbDataReader resultSet) { CollectionLoadContext context = null; if (collectionLoadContexts == null) { collectionLoadContexts = IdentityMap.Instantiate(8); } else { context = (CollectionLoadContext)collectionLoadContexts[resultSet]; } if (context == null) { if (log.IsDebugEnabled()) { log.Debug("constructing collection load context for result set [{0}]", resultSet); } context = new CollectionLoadContext(this, resultSet); collectionLoadContexts[resultSet] = context; } return(context); }
protected virtual IDictionary GetIdentityMap() { return(IdentityMap.Instantiate(10)); }
public virtual void OnPersist(PersistEvent @event) { OnPersist(@event, IdentityMap.Instantiate(10)); }
public virtual void OnRefresh(RefreshEvent @event) { OnRefresh(@event, IdentityMap.Instantiate(10)); }
public virtual void OnMerge(MergeEvent @event) { OnMerge(@event, IdentityMap.Instantiate(10)); }