예제 #1
0
파일: EventGraph.cs 프로젝트: srasch/marten
 public IAggregator <T> AggregateFor <T>() where T : class
 {
     if (!_aggregates.Value.TryFind(typeof(T), out var aggregator))
     {
         Options.Storage.MappingFor(typeof(T));
         aggregator = _aggregatorLookup.Lookup <T>();
         _aggregates.Swap(a => a.AddOrUpdate(typeof(T), aggregator));
     }
     return(aggregator.As <IAggregator <T> >());
 }
예제 #2
0
 public IAggregator <T> AggregateFor <T>() where T : class, new()
 {
     return(_aggregates
            .GetOrAdd(typeof(T), type =>
     {
         Options.Storage.MappingFor(typeof(T));
         return _aggregatorLookup.Lookup <T>();
     })
            .As <IAggregator <T> >());
 }